J'ai récemment changé mon projet pour utiliser SQLAlchemy et mon projet fonctionne très bien, il a utilisé un serveur MySQL externe.
Maintenant, j'essaie de travailler avec un autre serveur MySQL avec SSL CA, et il ne se connecte pas.
(Il s'est connecté à l'aide de MySQL Workbench, donc le certificat devrait être correct)
J'utilise le code suivant:
ssl_args = {'ssl': {'ca': ca_path}}
engine = create_engine("mysql+pymysql://<user>:<pass>@<addr>/<schema>",
connect_args=ssl_args)
et j'obtiens l'erreur suivante:
Impossible de se connecter au serveur MySQL sur '\ addr \' ([WinError 10054] Une connexion existante a été fermée de force par l'hôte distant)
Aucune suggestion?
J'ai changé le DBAPI en MySQL-Connector et utilisé le code suivant:
ssl_args = {'ssl_ca': ca_path}
engine = create_engine("mysql+mysqlconnector://<user>:<pass>@<addr>/<schema>",
connect_args=ssl_args)
Et maintenant ça marche.
Si vous vous connectez simplement à partir d'une machine cliente avec une connexion SSL (afin que vous n'ayez pas accès au certificat et à la clé), vous pouvez simplement ajouter ssl = true à votre uri.