linux mysql 127.0.0.1无法连接_linux下使用localhost和127.0.0.1连接不上mysql数据库的问题...

一、问题描述

1、在linux下安装完mysql之后,通过mysqladmin指令设置了管理员权限密码;

mysqladmin -u root password '密码'

2、通过mysql -u root -p 输入设置的密码,死活提示

‘ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)’

3、把这条报错贴到浏览器去搜索,再根据网上的方式去操作,试过n种方法,都没成功

4、最后没办法,以为自己哪里的权限配置错了,把数据库卸了重装,这个问题依旧在

二、问题解决

1、尝试用客户端去连接数据库,神奇的发现居然可以连接

2、再用mysql -h 127.0.0.1 -u root -p输入密码去连接,还是一样的报错

3、再然后就用服务器的内网ip去连接,终于进去了

33dda49b7f321bf4c86cfb86de5407b4.png

4、接下来就开始找原因了

(1)首先查找用户信息,发现localhost的user不是root

0b177f21009f3a05b31030786bdd52ef.png

(2)更新user表设置localhost的用户为root

update mysql.user set user = 'root' where host = 'localhost';

(3)再次mysql -u root -p + 密码,问题还是在

ca03cd4a1e3885a4045dc895655c5eeb.png

(4)又回去查看用户信息表,发现localhost和127.0.1没有对应的密码

b94ab43b6cb7ad5045df88f867af4d60.png

(5)给用户为root的地址都设置同一密码

UPDATE mysql.user SET Password=PASSWORD('密码') where USER='root';

2f7ba490a95d7da7169bbb66c850c2b9.png

(6)刷新权限列表,再次用mysql -u root -p + 密码去连接数据库就可以了

da5eed34c1739f71f989c21aba93edf7.png

283c3114dcbb7fcef5ff85f22cbde6b0.png

三、mysql种localhost和127.0.1的区别,推荐文档

https://gohalo.me/post/mysql-localhost-vs-127.0.0.1-introduce.html

四、总结

这个问题并没有那么难,只是自己linux和mysql知识不够扎实,才绕了一大圈弯路;如果一开始就去分析用户信息,或许就能更快解决问题

遇到问题是痛苦的,解决过程是煎熬的,分析问题并解决是快乐的!!!

文章来源: segmentfault.com,作者:悠悠风来,版权归原作者所有,如需转载,请联系作者。

原文链接:segmentfault.com/a/1190000037796145

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值