我有一个MySQL服务器设置为使用SSL,我也有CA证书。
当我使用MySQL Workbench连接到服务器时,我不需要证书。我也可以在Mac上使用Python和MySQLdb连接到服务器,而不需要CA证书。
但是,当我尝试在Windows计算机上使用完全相同的Python和MySQLdb设置进行连接时,我的访问被拒绝。看起来我需要CA。当我输入CA时,我得到以下错误_mysql_exceptions.OperationalError: (2026, 'SSL connection error')
打开连接的代码如下:
db = MySQLdb.connect(host="host.name",
port=3306,
user="user",
passwd="secret_password",
db="database",
ssl={'ca': '/path/to/ca/cert'})
有谁能指出Windows上的问题吗?
5条答案
按热度按时间oo7oh9g91#
我刚刚获得了以下代码,可以在Python 2.7和MySQLdb(1.2.4)中使用:
这是你的,所以一定有什么别的事情发生在这里。我想知道你是否有什么不正确的地方CA文件或服务器上的证书?你能得到一个副本的CA文件从服务器上?
7rtdyuoh2#
我使用pymysql,我有一些问题,使用SSL密钥和证书连接:对于“ssl”属性,我在里面设置了一个字典。尝试如下:
wribegjk3#
我知道这有点老了,但是我找到了一种方法来让它工作。使用pymysql代替MySQLdb,并将连接写为:
人们忽略的一点(包括我自己)是ssl需要是一个包含键“ssl”的字典,它有另一个字典作为键“ca”的值。
gj3fmq9x4#
jtoj6r0c5#
试试这个
数据库库库提供PostgreSQL,MySQL和SQLite的支持。对异步框架也很有用。