1、MySQL数据库升级到8.0版本以后,通过DBVisuali所鼙艘疯zer客户端软件登录时,报了Error Code: 1251 的错误,错误明细信息为:Cl足毂忍珩ient does not support authentication protocol requested by server; consider upgrading MySQL client(图示)。
2、但通过命令行的 mysql -uroot -p 的方式可以正常登录!出现这个问题的原因是,MySQL8.0之前版本的账号密码加密规则是mysql_native_password,而MySQL8.0版本开始其加密规则变更为更安全的caching_sha2_password。
3、对于这个问题,通常有两种解决思路,一是升级我们的客户瞿搋村乇端软件使用的MySQL连接驱动,二是修改MySQL数据库账号密码的加密规则。我们这里演示一下如何通过第二种方式解决这个问题,需如下3步操作:-- 1. 修改加密规则 (图1示)alter user 用户名@IP identified with mysql_native_password by '密码';-- 2. 使用新的加密规则更新一下用户密码信息(图2示)alter user 用户名@IP identified by '密码' PASSWORD EXPIRE NEVER;-- 3. 更新用户权限(图3示)flush privileges;
4、再次通过DBVisualizer客户端软件连接MySQL数据库,连接成功!