当使用navicat尝试连接CentOS上的mysql时,遇到'client does not support authentication protocol requested by server'错误。该问题由mysql新版本与navicat版本不兼容引起。解决方案包括升级navicat或者将mysql登录加密规则改为mysql_native_password。通过mysql命令行,可以执行相关指令来修改加密规则并成功连接。
//这里的password当前密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
//新密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
// 刷新权限
FLUSH PRIVILEGES;
若出现错误:
alter user 'root'@'%' identified by 'password' password expire never
//why是自己新修改的密码。
alter user 'root'@'%' identified with mysql_native_password by 'root';
//再次刷新一下