我有一个网络服务器,它一直运行良好,直到我们今天出现电源故障。在服务器重新上线后,托管在它上的网站失败了,因为它无法连接到MySQL。
当我尝试通过mysql -u根-p登录mysql时,我得到以下信息:
错误2002 (HY000):无法通过套接字'/var/run/mysqld/mysql.sock‘连接到本地MySQL服务器(2)
所以我在服务器上搜索mysql.sock,根本找不到它。就像在停电的时候被删除了一样。
如何使mysql重新启动并运行,并且由于找不到sock文件,我应该将my.cnf指向哪里?
发布于 2015-10-28 19:34:25
mysql.sock文件是在mysql启动时创建的,并在mysql关闭时被删除。您不应该像建议的那样自己创建一个mysql.sock文件。实际上,在数据目录中自己创建一个可以在mysql启动时干扰创建一个。
mysql.sock文件是一个unix套接字,用于方便数据从客户端传输到服务器。服务器用于与本地客户端通信的Unix套接字文件的默认位置是/tmp/mysql.sock。这个位置也可以在您的my.cnf中设置,可能如下所示:
[mysqld]
socket=/var/run/mysql/mysql.sock 如果在尝试登录时收到错误消息,如error 2002 (HY000):无法通过套接字'/tmp/mysql.sock‘(2)连接到本地MySQL服务器,则意味着MySQL服务器守护进程(Unix)或服务(MySQL)没有运行。
您可以在以下链接上阅读更多内容:dev.mysql或dev.mysql
这篇文章也可以帮助你从服务器故障
https://stackoverflow.com/questions/33395509
复制相似问题