日期:2014-05-16  浏览次数:20750 次

mysql无法通过mysqld.sock连接错误的解决方法

今天发现mysql无故无法连接,出现错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

?重启一下mysql

$ service mysql restart

?重启失败。

发现/var/run/mysqld/不存在

于是创建了mysqld文件,依然不好用,在网上找了很多方法仍然不好用,后来发现有一个要改mysqld文件的own为mysql:mysql,于是尝试了一下:

$sudo chown mysql:mysql /var/run/mysqld

?重启:

$ sudo service mysql restart

?成功。

登录:

$ mysql -uxxx -pxxx

?成功

问题终于解决。

?

所以归根到底是权限的问题。

所以如果配置文件/etc/mysql/my.cnf中设置

socket=/tmp/mysqld.sock

就不会出现问题

mysql首先搜索/etc/my.cnf下的配置,然后在搜索/etc/mysql/my.cnf,后者会覆盖前者的配置。

?