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

发布于 2023-07-06 11:13:29

问题就是 Navicat连接时报错

1.jpg

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

image.png

其实这个问题很简单:

show databases;

4d30f85d406b93eb248224db66ad4a63_2205648-20211222191025990-470240433.png

show tables;

执行后会发现有个user 表;

select host,user from user;

8758d98cb096d88622060f3af2fa9149_2205648-20211222191441292-1489637804.png

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

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

6da587779ec93b88d57f5f2569045d42_2205648-20211222191758681-1715572704.png

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

5540268a854b220f656a1e3b74864396_2205648-20211222191854537-567097373.png

切记还有一步:

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


最近需要执行flush privileges;

flush privileges;

然后Navicat就连接成功了

image.png





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

0 条评论

发布
问题