/var/run/mysqld/mysqld.sock无法连接的解决办法

2010年11月21日 Linux服务器 评论 12 条 阅读 22,964 views 次

今天在给朋友开空间的时候,发现数据库的/var/run/mysqld/mysqld.sock无法连接,很是奇怪。因为在我安装mysql数据库的时候,通过mysql -uroot -p是可以正常连接的,不知道什么原因,今天再使用这个命令的时候,提示“Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)”。
开始我还以为mysql数据库没有启动,我先查看了一下mysql的状态,是正常启动的。这就不清楚是什么原因导致的了。
于是我就尝试着用mysql --socket=/tmp/mysql.sock -uroot -p发现能连接上了。那这就是第一种方法了!

既然可以通过--socket=/tmp/mysql.sock 来连接,而直接使用的时候是用/var/run/mysqld/mysqld.sock,为什么不搞个软连接了,于是就有了第二个方法:
mkdir -p /var/run/mysqld
ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock

最后测试用mysql -uroot -p可以正常连接了,不再用--socket了!

以上的方法是暂时的方法,因为/tmp/下的文件,重新启动后就没有了,想要得到最终的解决办法,还是要找到产生这个问答的原因。
其实原因就是,在你卸载系统中以前安装的MYSQL的时候,没有清除/etc/my.cnf文件,所以,大家在出现这样的问题的时候,一定要先检查一下,你的/etc/目录里面,有没有你系统中以前安装过的配置文件,确保这里没有问题。

12 条留言  访客:7 条  博主:4 条

  1. 更多的时候,可能系统中有两个my.cnf,而系统中的那个一般没有被删除掉,这才导致的!
    所以出现在我文章中的问题的时候,请先看看系统的/etc/下有没有my.cnf这个文件!

  2. 楼主高手
    网上找了几个小时的方法
    最终用楼主的方法搞定了
    非常感谢

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录