赞
踩
在数据库学习时,有时会遇到Plugin 'caching_sha2_password' /'mysql_native_password' is not loaded.的问题,这个是因为数据库系统中的认证插件和mysql的不一致;
MySQL8.0之前一般用的认证插件是mysql_native_password;
MySQL8.0之后用的认证插件是caching_sha2_password;(这里注意是caching,而不是cashing,这两个可不一样哦~,数据库里没有cashing_sha2_password这个插件,我就写错过,导致一直报错)
首先,可以先查看自己的数据库里有哪些认证插件,有没有报错时显示没有加载的插件,如果查询出来没有,那就是没有下载,需要在系统中下载插件重新试一下:
sql语句:show plugins; /*查看数据库里所有的认证插件,我这里有好多,主要用的就是第2和第4*/
第二步,使用如下语句查看数据中目前每个用户对应的认证插件是什么,找到自己登录数据库的用户名,一般都是root账户,其中3、4、5行是创建数据库时就会有的。
select user,plugin from user;
第三步,查看报错时的认证插件和上一步用户对应的认证插件是否一致,如果不一致,使用sql语句,改变成报错弹窗里的认证插件为caching_sha2_password或者mysql_native_password
update user set plugin='mysql_native_password' where user='用户名(一般是root)';
update user set plugin='caching_sha2_password' where user='用户名(一般是root)';
第四步,如果一致,使用第四步的代码将用户的认证插件改为别的,运行之后再改回来,重新尝试。
以上是我遇到此问题的解决方式,希望对各位有帮助!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。