首页 > 解决方案 > SSL 连接错误:SSL 证书验证失败 (2026) (SQLDriverConnect) pyodbc?

问题描述

我正在尝试连接到 Azure MySQL 数据库服务。我在用

pyodbc==3.0.3

蟒蛇2.7

我的连接字符串看起来像这样

connection_string = "DRIVER={MySQL};SERVER={server_name}.mysql.database.azure.com;PORT=3306;DATABASE" \
                        "={my_database_name};UID={username@server_name};PWD={password};CHARSET=UTF8;" \
                      "sslca=/home/sachin/BaltimoreCyberTrustRoot.crt.pem;sslverify=1"
cnxn = pyodbc.connect(connection_string)

但是相同的配置适用于 mymysql.connector 工作正常。

import mysql.connector

cnx = mysql.connector.connect(user="{username@servername}", password="{password}",
                              host="{server_name}.mysql.database.azure.com",
                              port=3306, database="{database_name}", ssl_ca="/home/sachin//root.crt",
                              ssl_verify_cert=True)
cnx.cursor()

我现在不能使用 mysql.connector。因此,如果有人遇到此问题,需要一些建议。

标签: python-2.7sslpyodbc

解决方案


sslverify=1我遇到了同样的问题,并通过设置来修复它sslverify=0

例如对于 Azure:

;sslca={BaltimoreCyberTrustRoot.crt.pem}; sslverify=0; Option=3;'

推荐阅读