在python3.5和mysql服务器上使用tls1.2

k3fezbri  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(549)

我已经成功地从我的python应用程序连接到mysql服务器https://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html
问题是我使用tls版本1。但我想至少使用TLS1.2
在mysql服务器上,我设置为只使用tls1.1和1.2。当我尝试连接到mysql时,python抱怨版本错误。

mysql.connector.errors.InterfaceError: 2055: 
Lost connection to MySQL server `at '192.168.99.100:3306',`
 system error: 1 [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1045)

print(ssl.openssl\u版本)向我展示了2015年7月9日的openssl 1.0.2d如何使python 3.5使用tls1.2
我使用的代码

from tkinter import *
import mysql.connector
from mysql.connector.constants import ClientFlag
from datetime import datetime
import ssl
print(ssl.OPENSSL_VERSION)
config = {
    'user': 'user',
    'password': 'password',
    'host': '192.168.99.100',
    'database' : "pizza",
    'client_flags': [ClientFlag.SSL],
    'ssl_ca': 'C:\\Users\\Linux\\PycharmProjects\\Kassa\\ca-cert.pem',
    'ssl_cert':'C:\\Users\\Linux\\PycharmProjects\\Kassa\\client-cert.pem',
    'ssl_key':'C:\\Users\\Linux\\PycharmProjects\\Kassa\\client-key.pem'
}
mydb = mysql.connector.connect(**config)
mycursor = mydb.cursor()
2fjabf4q

2fjabf4q1#

在浪费了很多时间之后,我终于解决了这个问题。问题很简单。我使用了pycharm并下载了错误的sql连接器,它只支持tls1。通过从mysql网站抓取mysql connector python,我得到了正确的版本8.0.12
所以为了将来,请检查您使用的所有版本的软件。

相关问题