Can’t connect to local MySQL server through socket

今个在为一站点做数据库备份任务时,执行 #mysql -u root -p  报错:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysqld.sock’ (2)

而通过以下方式连接时,由于不是使用sock方式连接数据库的,所以可以正常登陆:

mysql -h 127.0.0.1 -u root -p
# mysql -h 192.168.1.5 -u root -p

网上也有很多人遇到过这种问题的,方案有:更改mysql安装目录权限、my.cnf配置定义socket文件、建立软链接等等,都试了,没有解决问题。

天南的 my.cnf 配置项如下:

[mysqld]
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
port = 3306
socket = /tmp/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

然后在 /tmp/ 目录下也看到了 mysql.sock 文件,按道理不会出现问题啊,搜尽网上各种方法无果,最后,将 my.cnf 里的 mysql.sock 改成 mysqld.sock 后执行:
# service mysql restart
重启服务后测试:
# mysql -u root -p
输入密码,一切正常,问题解决。。。。

好神奇 ~~

发布者:天南

一个好人

留下评论

电子邮件地址不会被公开。 必填项已用*标注