在Navicat中连接MySQL时遇到错误代码 2059,这表示MySQL服务器不接受Navicat客户端提供的加密插件。MySQL 8.0 及以上版本默认使用 caching_sha2_password 认证插件,可能导致一些客户端。
解决方法:
方法1:将MySQL用户的认证插件改为 mysql_native_password
- 登录MySQL:
打开命令行或终端,输入以下命令来使用root用户登录MySQL:
mysql -u root -p
修改用户认证插件:
执行以下命令,将用户的认证插件改为 mysql_native_password。假设你的用户是 your_user,并且主机是 localhost:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
退出MySQL:
EXIT;
重试连接:
现在,尝试使用Navicat重新连接MySQL
详细步骤:
1. 登录MySQL
打开你的命令行或终端,输入以下命令:
mysql -u root -p
输入root用户的密码登录MySQL。
2. 修改用户的认证插件
假设你的MySQL用户名是 your_user,并且你希望将认证插件改为 mysql_native_password:
ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
这将用户 your_user 的认证插件修改为 mysql_native_password,并设置密码为 your_password。
3. 确认更改
使用以下命令来确认用户的认证插件已被修改:
SELECT user, host, plugin FROM mysql.user WHERE user = 'your_user';
确认 plugin 字段的值为 mysql_native_password。
4. 重试连接
打开Navicat,尝试使用修改后的用户凭据重新连接MySQL。