您当前的位置: 首页 >  学无止境 >  文章详情

远程连接mysql报错Client does not support authentication protocol requested..

时间: 2023-11-05 【学无止境】 阅读量:共301人围观

简介 使用Navicat客户端连接本地mysql,报错1:1251- Client does not support authentication protocol requested by server;consider upgrading Mysql client。报错2:Host xxx is not allowed to connect to this MySQL server。报错3:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

问题1:"Host xxx is not allowed to connect to this MySQL server",这个错误是因为MySQL的远程连接权限没有配置正确。MySQL默认的设置是只允许localhost(即本地)的连接,如果你想从其他的机器上连接到MySQL服务器,你需要进行一些配置。

// 这个命令会切换到mysql数据库。然后,你需要更新user表 use mysql; // 这个命令会将root用户的host字段设置为'%',意味着任何IP都可以远程连接到这个MySQL服务器。如果你只想允许特定的IP远程连接,你可以将'%'替换为你的IP。 update user set host = '%' where user = 'root'; // 刷新权限 flush privileges;

问题2:使用Navicat客户端连接本地mysql,报错:1251- Client does not support authentication protocol requested by server;consider upgrading Mysql client。

  • mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
// 更新user为root,host为% 的密码为123456 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; // 更新user为root,host为localhost 的密码为123456 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

问题3:mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题。

  • 查看 mysql 初始的密码策略
// 输入命令 SHOW VARIABLES LIKE 'validate_password%';
  • 需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW
// 输入命令 set global validate_password_policy=LOW;
  • 设置为 6 位的密码,设置 validate_password_length 的全局参数为6
// 输入命令 set global validate_password_length=6;
文章评论
总共 0 条评论
这篇文章还没有收到评论,赶紧来抢沙发吧~
Copyright (C) 2023- 小祥驿站 保留所有权利 蜀ICP备 17034318号-2  公安备案号 50010302004554