NAVICAT FOR MYSQL 连接报错1251详细解决步骤
我的是5.0的版本,因为比较新的mysql采用新的保密方式所以旧的似乎不能用,改密码方式:
use mysql;
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;
FLUSH PRIVILEGES;
使用sqlyog连接 Mysql 出现1251错误
简述:1251 client does not support authentication protocol requested by server;consider upgrading Mysql client
问题原因:主要是由于mysql8以前的加密规则与mysql8以后的存在差异。出现这个原因是mysql8.0 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决此问题方法有两种,一种是升级客户端驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password。
解决方法:在mysql>后输入:
#设置你的密码为永不过期,这时你的密码为password
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#改变加密规则,使用mysql_native_password加密规则,这时你的密码为::用户的password
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '用户的password';
#刷新权限,以防数据库没有反应过来
FLUSH PRIVILEGES;