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, 重新打开一个),修改密码:
总结
到此这篇关于mysql报错error 1396 (hy000): operation alter user failed for root@localhost解决方式的文章就介绍到这了,更多相关mysql报错error 1396 (hy000)内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论