You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python连接Azure MySQL服务器失败报SSL WRONG_VERSION_NUMBER错误求助

根因说明

报错[SSL: WRONG_VERSION_NUMBER]是Python MySQL连接器默认优先发起SSL握手请求,而Azure MySQL 5.7支持的SSL/TLS版本与当前连接器默认要求的版本不匹配导致的。MySQL Workbench、Node客户端在SSL握手失败后会自动回退到非SSL连接,因此相同参数可以正常连接;GCP MySQL 8.0默认支持的TLS版本和当前连接器适配,所以连接正常。

解决方案

  • 方案1:显式禁用SSL连接
    你的数据库用户未配置强制SSL验证,直接在连接配置中添加禁用SSL的参数即可,修改后配置如下(以mysql-connector-python为例):
config = {
  'host':'local.mysql.database.azure.com',
  'user':'user@local',
  'password':'password',
  'database':'random_db',
  'ssl_disabled': True
}

如果使用的是pymysql,则添加'ssl': None参数即可。

  • 方案2:配置SSL证书连接
    如果后续需要开启SSL验证,可从Azure门户下载对应实例的SSL根证书,在配置中指定本地证书路径:
config = {
  'host':'local.mysql.database.azure.com',
  'user':'user@local',
  'password':'password',
  'database':'random_db',
  'ssl_ca': '/path/to/your/azure/mysql/ca.pem'
}
  • 方案3:更换或降级连接模块
    目前主流的Python MySQL连接模块有两类,可交叉尝试适配:
    • Oracle官方出品的mysql-connector-python
    • 纯Python实现的pymysql
      如果更换模块后仍报错,可降级连接器版本提升兼容性:
    • mysql-connector-python降级到8.0.23及以下版本
    • pymysql降级到1.0.2及以下版本

内容的提问来源于stack exchange,提问作者daniel ajj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:15:05