mysql 修改密码 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123’; 时,报错 ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost 解决方案:
2024-4-3 段子手168
1、首先连接权限数据库:
mysql> use mysql;
2、查看 user 主机名:
mysql> select user, host from user;
可以看到 root 用户的 host 是 【%】,而非 localhost
3、所以修改密码命令更改为:
mysql> ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘123’;
4、如果上面方法还是不能修改,可以试试如下
1)再次查看 mysql 数据库中 user 表的 plugin 字段:
mysql> select user, host, plugin from user;
2)如果发现 root 用户是 caching_sha2_password 的插件,
而不是 mysql_native_password 插件,可以把它改成 mysql_native_password 插件。
mysql> update user set plugin=‘mysql_native_password’ where user=‘root’;
5、你也可以把 root 用户的 host 更改成 localhost
mysql> update user set host=‘localhost’ where host=‘%’ and user=‘root’;