如何为 SSL 配置 PyMySQL 连接?

Man*_*ion 12 python ssl pymysql

我正在尝试使用 SSL 和 PyMySQL 连接我的数据库,但我找不到关于语法是什么的好的文档。

这些凭据可在 Workbench 和 CLI 中使用,但在使用 PyMySQL 时出现此错误。

无法连接到“server.domain.com”上的 MySQL 服务器([WinError 10061] 无法建立连接,因为目标机器主动拒绝了它)”)

db_conn = pymysql.connect(
    host=db_creds['host'],
    user=db_creds['user'],
    passwd=db_creds['passwd'],
    db=db_creds['db'],
    charset=db_creds['charset'],
    ssl={'ssl':{'ca': 'C:/SSL_CERTS/ca-cert.pem',
                'key' : 'C:/SSL_CERTS/client-key.pem',
                'cert' : 'C:/SSL_CERTS/client-cert.pem'
                }
        }
)
Run Code Online (Sandbox Code Playgroud)

如果我关闭 SSL 并删除 SSL 参数,我可以连接不安全就好了。我的 SSL 参数有什么问题?

编辑:PyMySQL 现在想要像这样列出 ssl 参数而不是在字典中。

db_conn = pymysql.connect(
     host=db_creds['host'],
     user=db_creds['user'],
     passwd=db_creds['passwd'],
     db=db_creds['db'],
     charset=db_creds['charset'],
     ssl_ca='C:/SSL_CERTS/ca-cert.pem',
     ssl_key='C:/SSL_CERTS/client-key.pem',
     ssl_cert='C:/SSL_CERTS/client-cert.pem'
                          )
Run Code Online (Sandbox Code Playgroud)

Man*_*ion 5

谢谢大家的帮助。问题中列出的语法是正确的,但我尝试连接的服务器使用的是非标准端口。我需要添加

端口 = db_creds['端口']

谢谢,曼尼卡里,提供线索。