报错信息如下:
errno: 1251,
sqlMessage: ‘Client does not support authentication protocol requested by server; consider upgrading MySQL client’,
原因:
mysql8
之前的版本中加密规则是mysql_native_password
, 而在mysql8
之后,加密规则是caching_sha2_password
1、通过如下命令查看当前加密规则
select User,Host,Plugin from mysql.user;
结果如图所示:
2、修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password' PASSWORD EXPIRE NEVER;
your_password
为你的密码;
root
为用户名,对应了第一步表中的 User 列;
localhost
为主机,对应了第一步表中的 Host 列,部分人是 %,填 Host 对应的值就行;
3、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
4、刷新权限
FLUSH PRIVILEGES;
5、再次运行第1步命令查看规则