时间:2021-10-12 09:42:14 | 栏目:Mysql | 点击:次
序言
在安装完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'; #更新一下用户的密码
问题解决。