Navicat或MySQL.js连接时可能会遇到如下问题:
'Client does not support authentication protocol requested by server; consider upgrading MySQL client'
这是由于连接时,使用账号密码的方式连接,与MySQL的用户表的安全策略冲突,提示没有权限进行连接,解决的方案有两个:
- 修改MySQL加密方式,允许直接通过账号密码连接;
- 修改连接配置,适配数据库的安全连接形式;
加密方式修改
MySQL 8.x创建用户时默认使用的加密方式是:caching_sha2_password
,该加密方式记录在user表的plugin字段中
使用原始密码字符串的plugin是mysql_native_password
,修改的语句如下所示:
1 | use mysql; |
连接配置修改
无论是MySQL.js还是Navicat,目前都没有比较好的解决方式。(2021.9.15)