【mysql】解决远程客户端连接不上MySql报错:Client does not support authentication protocol requested by server;

前言

在使用远程mysql 客户端连接Mysql服务器时报错,这里整理并记录一下。

环境

  • mysql 8.0

报错内容:

ERROR 1251 (08004): Client does not support authentication protocol requested by server; consider upgrading MySQL client

问题原因:

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

解决方法:

  1. 查看mysql版本
LITING:~ liting$ mysql -uroot -p    // 进入mysql
Enter password:  //输入mysql密码,如下提示表示登录成功
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 8.0.14 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
  1. 或者使用命令查看mysql版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.14    |
+-----------+
1 row in set (0.00 sec)
  1. 输入命令修改加密规则
ALTER USER 'root'@'%' IDENTIFIED BY '12345678' PASSWORD EXPIRE NEVER;
  1. 修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  1. 刷新权限
FLUSH PRIVILEGES;
  1. .查看表中相关信息,确认修改是否真正生效
mysql> use mysql;  //先使用命令 use mysql
Database changed
mysql> select user,host,plugin from user where user='root'; // 在输入该命令
+------+-----------+-----------------------+ 
| user | host      | plugin                |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+
1 row in set (0.00 sec)

参考

https://blog.csdn.net/weixin_43111077/article/details/108811949

posted @ 2022-11-10 19:25  彬在俊  阅读(1857)  评论(1)    收藏  举报