序言
在centOS上安装完MySql和windows 10 安装navicat之后,进行连接时报出了ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded: ÕÒ²»µ½Ö¸¶¨µÄÄ£¿é¡£.
(端口,防火墙,密码都没有问题,mysql库中的user表中的host字段也改成了%)
但是还是连不上,最后查明原因是账号密码验证插件类型不对,应该改成mysql_native_password,这个类型的变化也是mysql8之后的问题:
以下是改的过程
先查看数据库加密类型是什么样子的,
use mysql;
SELECT user,host,authentication_string,plugin FROM user;
结果,aber和root账户plugin的都是caching_sha2_password(错误的类型)
修改类型如下,(这里我使用的账户是aber,如果使用root连接mysql将aber改成root即可)
alter user aber@'%' IDENTIFIED BY 'W1@aber12345' PASSWORD EXPIRE NEVER;
alter user aber@'%' IDENTIFIED with mysql_native_password by 'W1@aber12345';
flush privileges;
然后再查看一遍
OK
然后重启mysql
完工。