电源故障后找不到mysql.sock

时间:2015-10-28 15:44:40

标签: mysql

我有一台运行正常的网络服务器,直到我们今天停电。将服务器重新联机后,托管在其上的网站失败,因为它无法连接到MySQL。

当我尝试通过mysql -u root -p登录mysql时,我得到以下内容:

ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysql.sock'连接到本地MySQL服务器(2)

所以我在服务器上搜索了mysql.sock,但根本找不到它。就像它在电源故障期间被删除一样。

如何让mysql备份并运行,我应该在哪里指向my.cnf,因为我找不到sock文件?

1 个答案:

答案 0 :(得分:1)

mysql启动时会创建mysql.sock文件,并在mysql关闭时删除。您不应该像建议的那样自己创建一个mysql.sock文件。实际上,在数据目录中自己创建一个可能会在启动mysql时干扰创建一个。

mysql.sock文件是一个unix套接字,用于方便从客户端到服务器的数据传输。在vanilla mysql安装中,服务器用于与本地客户端通信的Unix套接字文件的默认位置是/tmp/mysql.sock。该位置也可以在my.cnf中设置,可能如下所示:

[mysqld]
socket=/var/run/mysql/mysql.sock 
  

如果,当您尝试登录时,会收到错误消息,例如ERROR 2002(HY000):无法通过套接字'/tmp/mysql.sock'(2)连接到本地MySQL服务器,这意味着MySQL服务器守护程序(Unix)或服务(Windows)未运行。

您可以通过以下链接了解更多信息:dev.mysqldev.mysql

这篇文章也可以帮助您Server Fault