这对我来说很奇怪,因为我跑sudo find / -type s
时
mysql.sock 位置为/opt/lampp/var/mysql/mysql.sock
,问题是当我使用 rail s
启动ruby时出现错误
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
我知道我可以通过添加
来更改database.yml
文件配置
socket: /opt/lampp/var/mysql/mysql.sock
修复everthing但我想知道为什么当我运行/var/run/mysqld/mysqld.sock
时{0}指向/opt/lampp/var/mysql/mysql.sock
时,ruby的套接字指向sudo find / -type s
。有人可以解释为什么rails就像这样,并帮助我将rails默认套接字配置上的ruby更改为/opt/lampp/var/mysql/mysql.sock
其他信息
当我运行ps -aef | grep mysql
时,mysql套接字仍指向/opt/lampp/var/mysql/mysql.sock
我已尝试修改my.cnf
下的/etc/mysql
,因为我在tmp/my.cnf
中没有my.cnf并将套接字更改为/opt/lampp/var/mysql/mysql.sock
答案 0 :(得分:1)
您可以通过以下命令创建软文件 /opt/lampp/var/mysql/mysql.sock 到 /var/run/mysqld/mysqld.sock :
ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
OR
更改 my.cnf 或 my.ini 文件中的套接字文件路径。