出现的问题
在win10上安装mysql8.0.11后,使用navicat连接时,出现1251- Client does not support authentication protocol
的错误。
问题出现的原因
这是navicat对密码的加密方式与mysql8.0.11默认的加密方式不同导致的。我们需要把加密方式修改为mysql_native_password的加密方式才行。
解决的方法
综合了网络上的许多方法,如下方法亲测可行。
- 打开mysql命令行,输入如下指令。这一步是将用户密码使用MYSQL_NATIVE_PASSWORD加密规则进行更新,否则无法使用navicat进行图形化界面连接。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<您之前设置好的密码>';
- 再输入如下命令,设置密码永不过期;
ALTER USER 'root'@'localhost' IDENTIFIED BY '<您之前设置好的密码>' PASSWORD EXPIRE NEVER;
- 最后输入如下命令刷新权限。
FLUSH PRIVILEGES;
这样再打开navicat,就连接成功mysql了。