我试图在Python 3.7中使用mysql.connector
连接到我在此tutorial之后创建的Amazon RDS MySQL数据库。在python中,如果我尝试
mysql.connector.connect(host="hostname.rds.amazonaws.com",
user="username", passwd="password",
database="databasename")
我收到以下错误:
MySQLInterfaceError: SSL connection error: SSL_CTX_set_tmp_dh failed
引用的错误是什么?如果我使用mysql
或mysql workbench从命令行连接相同的凭据我没有问题。
更新:
这一定是我使用的anaconda环境的一个问题。我已经使用pip3来安装mysql-connector,它可以正常工作。
它无法在SSL上下文中设置Diffie-Hellman参数,可能是由于缺少.pem文件。请参阅django docs和SSL connection error when connecting to RDS MySQL from Django,建议添加一个选项
DATABASES['default']['OPTIONS'] = {
'ssl': {'ca': '/app/project_name/rds/mysql-ssl-ca-cert.pem'}
}