Mysql2 ::错误/无法通过socket' /var/run/mysqld/mysqld.sock&#39连接到本地MySQL服务器; (2)

时间:2015-12-30 12:34:12

标签: ruby-on-rails sockets vagrant mysql2

我正在尝试连接到在Fedora机器上运行的mysql服务器,侦听套接字/var/lib/mysql/mysql.sock上的端口3306

mysql客户端是一个使用vagrant在ubuntu机器上启动的ROR应用程序。从客户端内部发生错误。

  

Mysql2 ::错误/无法通过socket' /var/run/mysqld/mysqld.sock'连接到本地MySQL服务器; (2)

我试过以下

  1. 在fedora机器中添加了socket =" /var/lib/mysql/mysql.sock"在my.cnf文件中并检查。它没有用。
  2. 在database.yml文件中添加了socket =" /var/lib/mysql/mysql.sock"。它给出了类似的错误。无法通过socket' /var/lib/mysql/mysql.sock'连接到本地MySQL服务器; (13)
  3. 我尝试过做chown mysql:mysql / var / lib / mysql / 。还要chown mysql:mysql / var / run / mysqld / 。早些时候,mysqld.sock在Ubuntu机器中不存在。我创造了一个并且做了chown。但是没有用。
  4. 我尝试过磁盘清理,因为在某些论坛中,它被告知这可能是由于磁盘空间紧张造成的。但这也没有帮助。
  5. 我一直坚持这个问题并且在过去的两天里尝试了所有可行的方法。这是该项目唯一的障碍。请帮助我摆脱这种情况,因为我正在疯狂地弄清楚如何解决这个问题。非常感谢任何快速帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

socks(套接字)是本地文件类对象。如果你有一台Ubuntu机器试图连接到Fedora机器,运行应用程序的Ubuntu机器和运行数据库的Fedora机器,那么袜子就不是一种选择。

您需要使用TCP端口(3306)进行连接。更改Fedora机器将无法使Ubuntu机器连接到它(防火墙除外,如果这是一个问题)。

将应用程序配置为尝试使用TCP端口而不是SOCKS。