python MySQLdb:在没有证书的情况下使用ssl
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python MySQLdb:在没有证书的情况下使用ssl相关的知识,希望对你有一定的参考价值。
我有一个在AWS上运行的mysql服务器,它需要通过SSL进行身份验证(但不需要用户证书)。
我尝试过的事情:
没有证书的连接可以通过SequelPro(GUI)正常运行:
[当使用带有空ssl参数的mysqlconnector:'ssl_ca': ''
时,也可以使用。但不幸的是,没有使用MySQLdb。
我尝试过(使用连接字符串)
1。
conn = sqlalchemy.create_engine(
con_str,
connect_args='ssl':'ca': '')
pd.read_sql_query('select id from mytable limit 1', conn)
2。
conn = sqlalchemy.create_engine(
# the following is used to enforce mysqlconnector usage
con_str.replace("mysql:", "mysql+mysqlconnector:"),
connect_args='ssl_ca':'')
pd.read_sql_query('select id from mytable limit 1', conn)
第二个很好,第一个不行。当然,我也尝试使用裸连接器(MySQLdb.connect()
和mysql.connector.connect()
),并且遇到了相同的行为,无法使MySQLdb正常工作。
问题:
您能给我一些关于如何在没有证书(和密钥)的情况下在MySQLdb中使用SSL的提示吗?
其他背景:
很遗憾,我们从另一家提供商切换到AWS,因此不再像以前和现在的SSL那样使用ssh。而且我不是在管理数据库,所以我不能使用用户证书来实现它,只是被迫在没有任何证书的情况下使用ssl。
一位同事解释说,从安全的角度来看这是可以的,因为服务器发送了证书。我们相信他是相应URL的那个人,因为我们信任CA。
答案
在您的情况下可能不起作用,但是我也想在pymysql中执行此操作,并且似乎通过任何关键操作传递了dict:
以上是关于python MySQLdb:在没有证书的情况下使用ssl的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在没有 BackgroundWorker 的情况下使 WinForms 响应? [关闭]