我已经设置了一个使用SSL的MySQL服务器,并且我也有CA证书。
当我使用MySQL Workbench连接到服务器时,我不需要证书。我还可以在Mac上使用Python和MySQLdb连接到服务器而不需要CA证书。
但是,当我尝试在Windows机器上使用完全相同的Python和MySQLdb设置进行连接时,我遇到了访问被拒绝的问题。看起来我需要CA。当我输入CA时,会出现以下错误:
_mysql_exceptions.OperationalError: (2026, 'SSL connection error')
下面是我的代码以打开连接:
当我使用MySQL Workbench连接到服务器时,我不需要证书。我还可以在Mac上使用Python和MySQLdb连接到服务器而不需要CA证书。
但是,当我尝试在Windows机器上使用完全相同的Python和MySQLdb设置进行连接时,我遇到了访问被拒绝的问题。看起来我需要CA。当我输入CA时,会出现以下错误:
_mysql_exceptions.OperationalError: (2026, 'SSL connection error')
下面是我的代码以打开连接:
db = MySQLdb.connect(host="host.name",
port=3306,
user="user",
passwd="secret_password",
db="database",
ssl={'ca': '/path/to/ca/cert'})
有人能指出在Windows上的问题是什么吗?
ssl
字典的原因,甚至在pymysql
代码中也找不到为什么会起作用。我只是使用一个(非嵌套)字典,如下所示:pymysql.connect(..., ssl={'ca': 'ca.pem'})
,它可以正常工作。 - Andrey Semakin