5
回答
ERROR 2002 (HY000): Can’t connect to local MySQL server throughsocket ‘root’ (2)
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

mysql -uroot -p

输入密码后,弹出错误:

ERROR 2002 (HY000): Can’t connect to local MySQL server throughsocket ‘root’ (2)

注意这里不是报配置文件:/var/lib/mysql/mysql.sock 的错误,我有另一台虚拟机查看/etc/my.conf得到的配置信息是一样的。但另一台是正常的,这就很奇怪了。

 

开始时以为只是简单的账号密码不对,尝试更改配置加入:skip-grant-tables,重启服务后还是无法登录,直至使用:mysql -h 127.0.0.1 进入,update密码后查看user表密码是修改正常,重启服务,还是无法登录。 

服务重启无效,整机重启无效。

<无标签>
举报
SLoan_
发帖于3个月前 5回/92阅

找到答案了,还是摸索了一天的时间才找到,妈哟!

尝试使用:skip-grant-tables 进入添加测试账号,登录测试账号。不行

                修改root密码,不行

                select user,host,password from user;中如果有空的账号信息删除,也不行

经过大量测试,监测一下直接去掉 /etc/my.cnf 配置文件的心态下,(先保留一份备份)

重启服务,进入mysql,如常,还是失败!不死心全局搜索一下:find / -iname '*.cnf*'

得出一个非备份文件存储位置的 .my.cnf 隐藏文件!为什么会有这玩意呢?!

cat .my.cnf 得出 

[client]
user=root
password=root
socket=root

ma dan ! 这不是我报错的信息吗!再次全局搜索find / -iname '*.sock' 取得正确的 mysql.sock 路径

直接更改进去

[client]
user=root
password=root
socket=/var/lib/mysql/mysql.sock

然后,把刚刚备份的 my.cnf 归位,mv /etc/

重启服务,systemctl restart mysql

输入:mysql -uroot -p

再次输入密码。

OK!估计就我一个遇到这个问题吧。。。。

引用来自“mia0x75”的评论

不懂问题产生的原因,只知道重装,呵呵。。。

那你懂问题产生的原因吗?请赐教!呵呵!你很棒棒哦

顶部