sha*_*der 5 python mysql sqlalchemy
我最近将项目更改为使用SQLAlchemy,并且项目运行正常,它使用了外部MySQL服务器。
现在,我正在尝试使用具有SSL CA的其他MySQL服务器,并且该服务器无法连接。
(它确实使用MySQL Workbench连接,因此证书应该没问题)
我正在使用以下代码:
ssl_args = {'ssl': {'ca': ca_path}}
engine = create_engine("mysql+pymysql://<user>:<pass>@<addr>/<schema>",
connect_args=ssl_args)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
无法连接到\ addr \上的MySQL服务器([WinError 10054]远程主机强行关闭了现有连接)
有什么建议么?
我将DBAPI更改为MySQL-Connector,并使用以下代码:
ssl_args = {'ssl_ca': ca_path}
engine = create_engine("mysql+mysqlconnector://<user>:<pass>@<addr>/<schema>",
connect_args=ssl_args)
Run Code Online (Sandbox Code Playgroud)
现在就可以了。
如果您只是从具有 ssl 连接的客户端计算机进行连接(因此您无权访问证书和密钥),则可以简单地将 ssl=true 添加到您的 uri。
编辑:
例如:
mysql_db = "mysql+mysqlconnector://<user>:<pass>@<addr>/<schema>?ssl=true"