mysql.sock这个文件有什么用?mysql
链接localhost一般经过一个Unix域套接字文件进行,通常是/tmp/mysql.sock。若是套接字文件被删除了或者路径以及配置不对,本地客户识别不到此文件就不能链接。
若是你由于丢失套接字文件而不能链接,你能够简单地经过重启服务器从新建立获得它,由于服务器在启动时从新建立它。sql
出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 报错这是因为当使用host参数为“localhost”链接Mysql服务时,会优先使用“sock文件”进行链接,而不是使用“IP:端口”进行链接,而mysql尝试使用“sock文件”进行链接时,却没法获取“sock文件”的位置。服务器
]# mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决此报错两种方法:
一、能够运行socket
]# find / -name mysql.sock /tmp/mysql.sock
查找mysql.sock文件路径,而后经过下述命令登陆测试正常是能够的ide
]# mysql -uroot -p -s /tmp/mysql.sock
二、此缘由是mysql.sock配置在 [client] 前,会报错'/tmp/mysql.sock' (2),配置在 [client] 后,重启 mysql服务正常便可,样例:测试
[client] port=3306 socket=/tmp/mysql.sock
重启MySQL后在mysql -uroot -p登陆便可。
配置后重启正常code