人闲太久,努力一下就以为是在拼命。
一、问题
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