抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

本文讨论两个报错:Operation ALTER USER failed for 'root'@'%'Plugin 'mysql_native_password' is not loaded

报错Operation ALTER USER failed for ‘root‘@’%’

安装mysql后,更改初始密码时,按照教程输入ALTER USER 'root'@'%' IDENTIFIED BY '123';,报错Operation ALTER USER failed for 'root'@'%'。(或者输入ALTER USER 'root'@'localhost' IDENTIFIED BY '123';,报错Operation ALTER USER failed for 'root'@'localhost'

解决:在已登录mysql后输入
use mysql
select user,host from user;

输入`select user,host from user;`

如上图,显示user中root的host为localhost,则应输入ALTER USER 'root'@'localhost' IDENTIFIED BY '123';

反之,若显示user中root的host为%,则应输入ALTER USER 'root'@'%' IDENTIFIED BY '123';

报错Plugin ‘mysql_native_password’ is not loaded

上文中的代码已经避开了接下来讨论的这一个ERROR。实际上,在网上教程中,我查到的代码是ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';,然后遇到报错Plugin 'mysql_native_password' is not loaded,如下图所示。

报错显示

我在网上查到的资料中没有线索。这时,我发现有人提到

MySQL5.8从开始将caching_sha2_password替代mysql_native_password作为默认的身份验证插件

于是我将代码中的mysql_native_password改为caching_sha2_password,即输入:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123';

替换后
成功。
后来我查阅资料,又发现直接省略这部分就行:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

省略

评论

评论区不是无人区喵