解决Navicat连接不上MySql服务器报错

2020年11月28日21:03:04 1 648

解决Navicat连接不上MySql服务器报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client

1.问题原因

通过相关问题查阅,发现是由于navicat版本的问题造成连接失败。mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

MySql查看版本号-1

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>

MySql查看版本号-2(可以进入mysql后通过mysql命令查看)

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.14    |
+-----------+
1 row in set (0.00 sec)

2.解决问题

1.进入mysql

LITING:~ liting$ mysql -uroot -p
Enter password:  // mysql密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
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.

2.输入命令修改加密规则

1.ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
password替换为mysql连接密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678' PASSWORD EXPIRE NEVER;
2.ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
password为修改的新密码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
3.刷新权限,使修改生效。
FLUSH PRIVILEGES;
4.查看表中相关信息,确认修改是否真正生效
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)
5.通过navicat连接测试

解决Navicat连接不上MySql服务器报错

阿成哥
  • 本文由 发表于 2020年11月28日21:03:04
  • 转载请务必保留本文链接:https://blog.acwang.com/129.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  0   博主  1
    • 阿成哥 阿成哥

      写的好!