ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
小白
2023-08-30
在用MySQL客户端Navicat链接数据库时,报ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock',而使用命令 mysql -uxxx -pxxx 链接MySQL就可以链接。这是因为host为”localhost“时,会优先使用”sock文件“进行连接而不是使用”IP:端口“连接,但是MySQL尝试使用”sock文件“连接时,无法获取”sock文件“位置而报错。
解决方法:
一、将连接host 由”localhost“改为”127.0.0.1“。
二、修改mysql配置文件中sock文件的位置
修改“/etc/my.cnf”配置文件,在/etc/php.ini文件中找到"mysql.default_socket",并设置其值指向正确的mysql服务socket文件即可, 在配置文件中添加“[client]”选项和“[mysql]”选项,并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径完全一致。如下:
[mysqld] datadir=/storage/db/mysql socket=/storage/db/mysql/mysql.sock ...省略n行 [client] default-character-set=utf8 socket=/storage/db/mysql/mysql.sock [mysql] default-character-set=utf8 socket=/storage/db/mysql/mysql.sock
文章版权声明
1、本网站名称:阿V编程
2、本站永久网址:https://www.1892zyw.com
3、本网站的部分文章内容/部分资源可能来源于网络,仅提供给大家学习或参考,如有侵权,请联系站长QQ进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,如有发现请向站长举报