序言
在安装完MySql和navicat之后,进行连接时报出了ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password' cannot be loaded: ÕÒ²»µ½Ö¸¶¨µÄÄ£¿é¡£.我起初认为是我没设置密码的原因。便在命令行模式下设置了密码值得一提的是在登陆root之后
设置密码应该是 set password =‘你的密码' 而不是 什么password =password 什么的,你看见让报错是syntax时,就应该考虑这句代码是不是有问题。
这里特别提示一下:凡是远程(虚拟机,tencent ali服务器类似的东西) 命令中的localhost都应该替换为'%'
正文
1.2059 Authentication plugin
当我重新链接时,发现还是有问题。这句话是说认证插件的问题
排查下:
SELECT `user`, `host`, `authentication_string`, `plugin` FROM mysql.user;
进行排查
修改root账号的密码验证插件类型为mysql_native_password这是mysql8之后的问题:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则password是自己的密码,root也是登陆账户,下同。 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限
SELECT `user`, `host`, `authentication_string`, `plugin` FROM mysql.user;
这个问题解决完毕。
------------------------------------分割线-----------------------------------------------------------------------
这里更新一个我在使用本地win10链接虚拟机中docker报同样问题的解决办法。在docker中的mysql执行。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
凡是远程这里的localhost一定要换成%。
2019/9/11
今天远程链接腾讯服务器mysql同样报错,先是1130错,1130怎么解决看我另一篇文章,然后又是2059.解决方案同上。到腾讯服务器中的mysql执行
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
问题解决。
到此这篇关于mysql安装navicat之后,出现2059,Authentication plugin及本地链接虚拟机docker,远程链接服务器的文章就介绍到这了,更多相关mysql安装navicat报2059内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!