起因:我在Ubuntu14 64位系统中安装mysql后,后来通过mysql -u用户名 -p密码 的命令连接

            Mysql数据库时,报错"can't connect to local mysql serverthrough  socket'/var/run/mysqld/mysqld.sock'"

解决方法1:

在不重新安装mysql的情况下,通过如下命令来解决,具体的就是先停止mysql服务,再重新开启mysql服务

cd /etc/init.d

sudo service mysql stop

sudo service mysql start 


解决方法2:后来我进入到目录 /var/run/mysqld下发现mysqld.sock没有,后来我通过如下命令重新卸载已经安装mysql

卸载mysql命令来源于这篇文章:http://www.cnblogs.com/steven_oyj/archive/2010/05/24/1742808.html

删除 mysql


sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common //这个很重要
上面的其实有一些是多余的。

清理残留数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

安装 mysql

sudo apt-get install mysql-server 
sudo apt-get install mysql-client

然后发现安装后的版本中,mysqld.sock在该目录下找到了,后面再重新连接mysql就正常了


总结:

根据报错的说明mysqld.sock不能找到,我检查正确能启动的mysql的其他服务器,发现这个mysqld.sock在mysql正确安装后应该是存在的

说明安装过程中发生错误,因此卸载mysql后重新安装解决问题。


后来还是出现了该问题,经过排查后发现,我在安装完mysql后,是存在mysqld.sock的,但是之后我还安装了pymysql,安装完成了之后mysqld.sock就不见了

应该是pymysql的安装把mysqld.sock卸载掉了


另外,这一篇文章给出了更为具体的解释:

http://www.justwinit.cn/post/1902/





评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!