发布时间:2025-06-24 19:10:39  作者:北方职教升学中心  阅读量:043


mysql 修改密码 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123’; 时,报错 ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost #xff1解决方案a;

2024-4-3 段子手168。

在这里插入图片描述

1、将密码命令修改为:

mysql> ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘123’;

在这里插入图片描述

4、查看 user 主机名:

mysql> select user, host from user;

可以看到 root 用户的 host 是 [%],而非 localhost。

mysql> update user set plugin=‘mysql_native_password’ where user=‘root’;

在这里插入图片描述

5、连接权限数据库:

mysql> use mysql;
在这里插入图片描述

2、

mysql> update user set host=‘localhost’ where host=‘%’ and user=‘root’;

在这里插入图片描述

6、

在这里插入图片描述

3、然后退出 mysql 重新登录(关闭 PowerShell, 重新打开),密码修改:

在这里插入图片描述

因此,

1)再次查看 mysql 数据库中 user 表的 plugin 字段:

mysql> select user, host, plugin from user;

2)如果发现 root 用户是 caching_sha2_password 插件,
而不是 mysql_native_password 插件,可以改成 mysql_native_password 插件。如果上述方法仍然不能修改󿀌您可以尝试以下内容。你也可以把 root 用户的 host 更改成 localhost。首先,