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,后者会覆盖前者的配置。
?