前几天在工作当中,mysql服务器的data目录空间不足,将mysql的存储路径换了一下。
修改/etc/myf后。mysql可以正常启动。
外部应用也能正常连接。后面就没有关注其他得了。
今天有一个5MB的脚本需要执行,在客户端上执行速度太慢,想着在mysql服务器上执行。
在linux服务器上执行 mysql -uroot -proot 后 报了" Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"的错误。 在网上研究了半天,看到一个帖子也说了类似问题,研究了下。
解决方案如下:
1、在服务器查找mysql.sock的位置,
执行命令:find / -name mysql.sock
或者查看/etc/myf文件,其中有一个选项sock 看看这个选项=号后得值
2、修改/etc/myf文件。在文件最后追加
[mysql]
socket=/data/mysql/mysql.sock
[client]
socket=/data/mysql/mysql.sock
[mysqldump]
socket=/data/mysql/mysql.sock
[mysqladmin]
socket=/data/mysql/mysql.sock
然后保存。
3、重新启动mysql服务,执行命令:service mysqld restart
进过上面的步骤问题应该就可以解决了。
原因是由于当使用host参数为“localhost”连接Mysql服务时,会优先使用“sock文件”进行连接,而不是使用“IP:端口”进行连接,而mysql尝试使用“sock文件”进行连接时,却无法获取“sock文件”的位置。
这样对应的mysql命令:mysql、mysqldump、mysqladmin命令都解决了报" Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"错误。
更多推荐
mysql 服务器 连接mysql报错Can’t connect to local MySQL server through socket解决方法
发布评论