我已经成功地从我的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()
1条答案
按热度按时间2fjabf4q1#
在浪费了很多时间之后,我终于解决了这个问题。问题很简单。我使用了pycharm并下载了错误的sql连接器,它只支持tls1。通过从mysql网站抓取mysql connector python,我得到了正确的版本8.0.12
所以为了将来,请检查您使用的所有版本的软件。