【已解决】1251 - Client does not support authentication protocol requested by server; consider upgrading

编程知识 更新时间:2023-05-02 05:29:14

远程连接docker容器中的mysql8.0数据库时出现连接不上

    • 👀1. 场景:
    • 👀2. 原因分析:
    • 🚀3. 解决:
      • 3.1 方法一
      • 3.2 方法二


报错信息

1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client


👀1. 场景:

远程连接docker容器中的mysql8.0数据库时出现连接不上,mysql8.0版本之前没有该问题.


👀2. 原因分析:

出现1251的主要原因是由于mysql版本的问题mysql8.0版本,与mysql8.0以下版本的加密方式不同,导致错误产生。

  • MySql 8.0.11 换了新的身份验证插件(caching_sha2_password),
  • 而原来的身份验证插件为(mysql_native_password)。

​ 而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),因此报上面的错,所以我们将mysql用户使用的 登录密码加密规则还原成 mysql_native_password,即可登陆成功。


🚀3. 解决:

3.1 方法一

修改root加密方式

​ 1) 查看root或其他用户信息的加密方式

[root@centos7 ~]# mysql -u root -p  #登陆mysql
mysql> use mysql;	# 切换mysql数据库
mysql> select user,plugin from user where user='root';  #查看root的加密方式

​ 2) 改变加密方式

alter user 'root'@'%' identified with mysql_native_password by '123456';

mysql> select user,plugin from user where user='root';

通过上面两步,即可解决问题


3.2 方法二

添加用户,同时设置登陆加密方式为mysql_native_password,并且给它远程访问权限,完成后这个用户也可以访问.

添加远程登录用户
CREATE USER 'mjh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'mjh'@'%';

更多推荐

【已解决】1251 - Client does not support authentication protocol requested by server;

本文发布于:2023-04-26 06:33:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/ebd09cf825c8c552672c35d0a0a4af44.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:support   authentication   Client   server   upgrading

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 104507文章数
  • 26215阅读数
  • 0评论数