虚拟机数据库改密码ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘

注:原因为MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的  登录密码加密规则  还原成  mysql_native_password,即可登陆成功。

mac上用homebrew安装mysql步骤:

1.brew install mysql(默认安装mysql8)

安装完成后:启动mysql服务

2.bash mysql.server start

这个时候用navicat 连接会报错2059 Authentication plugin 'caching_sha2_password' cannot be loaded

这是因为新版mysql数据库的加密方式变了:

3.登录数据库 mysql -u root -p

mysql> use mysql;

4.通过命令 select user,plugin from user where user='root'; 我们可以发现加密方式是caching_sha2_password 

 

5.mysql> select user,host from user; 

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| admin            | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| zhangj           | localhost |
+------------------+-----------+
注意我的root,host是'%' 

6.然后使用命令:alter user 'root'@'%' identified with mysql_native_password by 'your password';

执行这个语句时如果报错“ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'”,就执行第6步,如果没报错就走第7步

7.保留当前窗口,新打开一个窗口,重新进入mysql,执行该命令就可以了

再次查看,就发现加密方式已经更改:

8.接着找到my.cnf文件(不知道目录的可以通过brew list mysql来确定目录)并加上加密方式: 

default_authentication_plugin=mysql_native_password

 

9.保存后,重启mysql服务命令:mysql.server restart

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值