错误提示
账号、密码、权限都配置的没有问题,但是链接还是一直报错1251
原因
**MySQL 8.0发行说明及特性:
安全以及账户管理方面:
认证加密插件变更
除了sha256_password认证插件。可用一种新的caching_sha2_password认证插件。后者可以使用缓存解决连接时的延时问题。
对比可以看出。MySQL8.0中默认新建用户使用caching_sha2_password,而不是原生的加密策略。这样客户端使用原有方式连接就会出现问题。
由于两边默认密码插件不匹配导致无法加解密的原因。有两种方法解决。一种是服务端降级加密方式,一种是客户端升级加密方式。
解决方法
这里我使用的是第一种服务端降级的方式
1、首先通过命令行进入mysql:
mysql -uroot -p
2、更改加密方式:
ALTER USER ‘root’@’%’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
3、更改密码:
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘password’;
4、刷新一下:
FLUSH PRIVILEGES;
完活