mysql8,客户端链接数据库失败解决方法。

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

问题就是 Navicat连接时报错

23ee6a595c840b809e861ede00ba5641.jpeg

然后再服务器上设置mysql密码报错

54708bbee505ce2c79a85d2bafb1f0d3.jpeg

其实这个问题很简单:

  • show databases;

e1ad74172c4c186d954db089af198e08.jpeg

  • show tables;

执行后会发现有个user 表;

  • select host,user from user;

a59ed994e958a58057584dd9db1b9cd2.jpeg

第一行host是我自己添加的,最下面一行是一开始就有的root账户,可以直接把user表的root账户对应的host改为'%'就可以在Navicat上远程登录了,就是SQL的update语句,不用搞得那么复杂。

  • update user set host = '%' where host = 'localhost' and user = 'root';

b7bae969cfdeec74767aa6f78b1352b1.jpeg

再次查看,发现已经更新成功了。

b37424d5d12e9d1f562d2dddeeecd784.jpeg

切记还有一步:

  • alter user 'root'@'%' identified with mysql_native_password by '123456';

最近需要执行flush privileges;

  • flush privileges;

然后Navicat就连接成功了

81ffb5d98df3804522f63d4c1ba128b7.jpeg


关注公众号,了解更多it技术(it问答网

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuduowei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值