解决 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)的方法

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)的方法_第1张图片


一个亲测有效的解决办法

解决不能通过mysql .sock连接MySQL问题

这个问题主要提示是,不能通过 ‘/tmp/mysql .sock’连到服务器,一些mysql 安装方法 将 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:

解决 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)的方法_第2张图片

mysql.sock 一般不是在 /tmp/mysql.sock 就是在 /var/lib/mysql/mysql.sock 这里,没有的话就用

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

或者是

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

连接一下


再按照这样的操作来一遍就好啦

#1.停止mysql数据库
/etc/init.d/mysqld stop

#2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

#3.使用root登录mysql数据库
mysql -u root mysql

#4.更新root密码
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
#最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';

#5.刷新权限 
mysql> FLUSH PRIVILEGES;

#6.退出mysql
mysql> quit

#7.重启mysql
/etc/init.d/mysqld restart

#8.使用root用户重新登录mysql
mysql -uroot -p 
Enter password: <输入新设的密码newpassword>

你可能感兴趣的:(MySQL)