解决解决Navicat Premium 连接连接 MySQL 8.0 报错报错1251的问题分析的问题分析
人闲太久,努力一下就以为是在拼命。
一、问题一、问题
Navicat Premium 连接 MySQL 8.0 报错:
1251 – Client does not support authentication protocol requested by server; consider upgrading MySQL client
二、原因二、原因
MySQL 8.0 改变了密码认证方式。
在 MySQL 8.0 之前版本的密码认证方式为:
mysql_native_password
为了提供更安全的密码加密方式,从 MySQL 8.0 版本开始,默认使用密码认证方式为:
caching_sha2_password
报错 1251 的原因也很明显:
Client does not support authentication protocol requested by server;
翻译为中文就是:“客户端不支持服务端请求的认证协议客户端不支持服务端请求的认证协议”。
我这里用的 Navicat Premium 11 去连接 MySQL 8.0,因为版本太低,所以不支持 caching_sha2_password 的密码加密方式!!
在 MySQL 命令行终端,可以查看版本以及默认密码认证方式:
root@程序员的一天:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.
mysql>
mysql>
# 查看版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.21 |
+-----------+
1 row in set (0.00 sec)
mysql>
mysql>
# 查看默认加密方式
mysql>
mysql> use mysql;
Database changed
mysql>
mysql> select host, user, plugin from user;
+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | root | caching_sha2_password |
评论1
最新资源