使用MySQL Workbench 8.0连接MySQL 5.6数据库认证失败求助
解决MySQL Workbench 8.0连接MySQL 5.6的认证问题
问题根源
- ALTER USER语句语法错误:你使用的
IDENTIFIED WITH mysql_native_password语法是MySQL 5.7.6及以上版本才支持的,MySQL 5.6不兼容该写法。而且MySQL 5.6默认的认证插件就是mysql_native_password,无需额外指定。 - Workbench 8.0默认认证方式冲突:Workbench 8.0默认优先尝试
caching_sha2_password认证,但MySQL 5.6没有这个插件,导致识别失败,所以报错里的插件名称为空。
解决方案
1. 修正用户密码/认证方式的SQL语句
在命令行客户端执行以下正确语句重置用户密码(替换占位符为实际信息):
ALTER USER '[USERNAME]'@'[HOST]' IDENTIFIED BY '[PASSWORD]';
若你的MySQL 5.6版本不支持ALTER USER(部分早期5.6版本存在此情况),改用以下语句:
UPDATE mysql.user SET Password=PASSWORD('[PASSWORD]') WHERE User='[USERNAME]' AND Host='[HOST]'; FLUSH PRIVILEGES;
2. 配置Workbench强制使用原生密码认证
打开MySQL Workbench的连接配置窗口,按以下步骤操作:
- 切换到Advanced标签页
- 在Others文本框中添加一行配置:
default-auth=mysql_native_password - 切换到SSL标签页,将Use SSL设置为
No(MySQL 5.6默认未开启SSL,强制开启会导致连接失败)
完成配置后,保存并重新尝试连接即可。
内容的提问来源于stack exchange,提问作者Mark Williams
相关产品推荐
相关产品推荐

