Recientemente cambié mi proyecto para usar SQLAlchemy y mi proyecto funciona bien, usó un servidor MySQL externo.
Ahora estoy tratando de trabajar con un servidor MySQL diferente con SSL CA, y no se conecta.
(Se conectó usando MySQL Workbench, por lo que el certificado debería estar bien)
Estoy usando el siguiente código:
ssl_args = {'ssl': {'ca': ca_path}} engine = create_engine("mysql+pymysql://<user>:<pass>@<addr>/<schema>", connect_args=ssl_args)y me sale el siguiente error:
No se puede conectar al servidor MySQL en '\addr\' ([WinError 10054] El host remoto cerró a la fuerza una conexión existente)
¿Alguna sugerencia?
Cambié el DBAPI a MySQL-Connector y usé el siguiente código:
ssl_args = {'ssl_ca': ca_path} engine = create_engine("mysql+mysqlconnector://<user>:<pass>@<addr>/<schema>", connect_args=ssl_args)Y ahora funciona.
Si solo se conecta desde una máquina cliente con una conexión ssl (por lo que no tiene acceso al certificado y la clave), simplemente puede agregar ssl=true a su uri.
Editar:
Por ejemplo: mysql_db = "mysql+mysqlconnector://<user>:<pass>@<addr>/<schema>?ssl=true"