首页 > 解决方案 > 从 python mysql 连接器连接到 Amazon RDS mysql 时出现 SSL 连接错误

问题描述

我正在尝试使用mysql.connectorPython 3.7 连接到我按照本教程创建的 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 workbench 从命令行使用相同的凭据连接,mysql我没有问题。

更新:

这一定是我使用的 anaconda 环境的问题。我已经使用 pip3 来安装 mysql-connector 并且它工作正常。

标签: mysqlpython-3.xamazon-rds

解决方案


它未能在您的 SSL 上下文中设置 Diffie-Hellman 参数,可能是由于缺少 .pem 文件。请在从 Django 连接到 RDS MySQL 时查看django 文档SSL 连接错误,这建议添加类似的选项

DATABASES['default']['OPTIONS'] = {
    'ssl': {'ca': '/app/project_name/rds/mysql-ssl-ca-cert.pem'}
}

推荐阅读