优秀的编程知识分享平台

网站首页 > 技术文章 正文

mysql 修改密码 报错 ERROR 1396 (HY000): 解决方案

nanyue 2025-03-10 18:57:59 技术文章 1 ℃

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




## 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';



## 6、然后退出 mysql 重新登录(关闭 PowerShell, 重新打开一个),修改密码



最近发表
标签列表