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

Gui*_*meA 6 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'))
Run Code Online (Sandbox Code Playgroud)

或借助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
Run Code Online (Sandbox Code Playgroud)

[解]

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

小智 2

升级 mysqlclient 包解决了这个问题。