首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’「建议收藏」

ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’「建议收藏」

作者头像
全栈程序员站长
发布2022-09-22 20:04:54
发布2022-09-22 20:04:54
7.4K0
举报

大家好,又见面了,我是你们的朋友全栈君。

注:原因为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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169952.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档