从python mysql连接器连接到Amazon RDS mysql时发生SSL连接错误

时间:2019-03-03 18:23:29

标签: mysql python-3.x amazon-rds

我正在尝试在Python 3.7中使用// Setup Paper.js. paper.setup('canvas'); // Create an orange rectangle covering all the canvas. new paper.Path.Rectangle({ rectangle: paper.view.bounds, fillColor: 'orange', // On mousedown on this rectangle... onMouseDown: function(event) { // ...draw a blue circle at event point. new paper.Path.Circle({ center: event.point, radius: 30, fillColor: 'blue' }); } }); // On button click... document.getElementById('button').addEventListener('click', function() { // ...trigger a fake mousedown event at point 100,100. document.getElementById('canvas').dispatchEvent(new MouseEvent('mousedown', { clientX: 100, clientY: 100 })); }); 连接到在此tutorial之后创建的Amazon RDS MySQL数据库。在python中,如果我尝试

mysql.connector

我收到以下错误:

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从命令行使用相同的凭据进行连接,则没有问题。

更新

我使用的anaconda环境一定存在问题。从那以后,我已经使用pip3来安装mysql-connector,并且可以正常工作。

1 个答案:

答案 0 :(得分:0)

它未能在您的SSL上下文中设置Diffie-Hellman参数,可能是由于缺少.pem文件所致。请参阅django docsSSL connection error when connecting to RDS MySQL from Django,其中建议添加类似的选项

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