这个错误最常见于:新版 MySQL 客户端(8.0+)连接旧版 MySQL 服务器(5.6/5.7),因为客户端默认启用了高版本 SSL 协议,而旧服务器不支持,导致协议不兼容。
快速解决方法(100% 有效)
直接在连接命令末尾加参数关闭 SSL 连接即可:
bash
运行
mysql -u 用户名 -p -h 主机地址 --ssl-mode=DISABLED
示例
bash
运行
mysql -u root -p -h 127.0.0.1 --ssl-mode=DISABLED
输入密码后就能正常连接了。
永久解决方案(推荐)
如果不想每次都加参数,可以修改配置文件永久关闭 SSL:
1. Linux/macOS
编辑 my.cnf 或 ~/.my.cnf:
ini
[mysql]
ssl-mode=DISABLED
2. Windows
编辑 my.ini:
ini
[mysql]
ssl-mode=DISABLED
修改后无需重启 MySQL,直接重新连接即可生效。
为什么会出现这个错误?
- MySQL 8.0 客户端:默认强制使用
TLSv1.2/TLSv1.3协议 - 旧版 MySQL 5.6/5.7 服务器:只支持
TLSv1.0/TLSv1.1(已被新版弃用) - 协议不兼容 → 直接报错
unsupported protocol
总结
- 临时解决:连接命令加
--ssl-mode=DISABLED - 永久解决:配置文件添加
ssl-mode=DISABLED - 核心原因:新客户端 SSL 协议与旧服务器不兼容
正文完
可以使用微信扫码关注公众号(ID:xzluomor)