Python SQL连接错误(2006,“ SSL连接错误:SSL_CTX_set_tmp_dh失败”)

时间:2018-12-17 16:43:55

标签: python mysql ssl

我曾经以这种方式连接到我的AWS-RDS实例

import MySQLdb

db = MySQLdb.connect(host=os.getenv('RDS_ENDPOINT'),
                     user=os.getenv('RDS_USER'),
                     passwd=os.getenv('RDS_PWD'),
                     db=os.getenv('RDS_DB'))

或借助sqlalchemy,但今天似乎拒绝处理错误(2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed')

我尝试更新所有python软件包(mysqlclientsqlalchemy),重新安装mysqlclient-dev,手动重新安装OpenSSL v1.1.1a,但仍然是相同的错误。

[编辑]

我设法使用MySQL CLI连接到同一数据库

mysql --user=$RDS_USER --host=$RDS_ENDPOINT --password=$RDS_PWD $RDS_DB

[解决方案]

这似乎是驱动程序问题。我尝试对mysqlclient使用python 3并收到此错误。接下来,我尝试按照要求使用mysql.connector,但是遇到了编码问题(如sqlalchemy文档中所述)。最后,我以pymysql驱动程序结束,该驱动程序似乎可以与sqlalchemy一起使用。

1 个答案:

答案 0 :(得分:1)

升级mysqlclient软件包解决了该问题。