原因
          MySQL8.0后的版本加密规则是“caching_sha2_password”,而 MySQL8.0之前的版本加密规则是“mysql_native_password” 错误1251通常出现在连接MySQL数据库时,是因为MySQL的身份验证协议发生了变化,而旧版本的Navicat不支持新的身份验证协议。MySQL 8.0版本之后默认采用了更加安全的身份验证插件"caching_sha2_password",而Navicat较旧的版本可能无法兼容这个新的协议

解决办法

    更改加密规则,将MySQL用户登录密码加密规则还原成“mysql_native_password”。

进入到mysql指令中:

mysql -uroot -p密码

第一步:修改密码规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

第二步:更改密码,因为修改了加密规则,所以需要重新设置密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码';

第三步:最后刷新下数据库,指令为:【FLUSH PRIVILEGES;

FLUSH PRIVILEGES;

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐