ruby on rails错误的默认套接字是/var/run/mysqld/mysqld.sock

时间:2015-07-21 08:44:25

标签: mysql ruby-on-rails ruby sockets

这对我来说很奇怪,因为我跑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

1 个答案:

答案 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 文件中的套接字文件路径。