python - example - Cómo hacer una conexión de mysql que requiera CA-CERT con sqlalchemy o SQLObject
sqlalchemy sql server (3)
create_engine () en SQLAlchemy tiene un parámetro connect_args
:
connect_args
: un diccionario de opciones que se pasará directamente al métodoconnect()
DBAPI como argumentos de palabras clave adicionales.
Me gustaría conectarme a una base de datos MySQL que requiera ca-cert. Puedo hacerlo con MySQLdb como a continuación:
MySQLdb.connect(host = self.host,
port = self.port,
unix_socket = self.unix_socket,
user = self.user,
passwd = self.passwd,
db = self.db,
ssl = { ''cert'': self.sslcert,
''key'': self.sslkey,
''ca'': self.sslca }
¿Cómo hago lo mismo en SQLAlchemy o SQLObject?
Gracias, Peter
Para usar certificados SSL con SQLAlchemy y MySQLdb, use el siguiente código python:
db_connect_string=''mysql://<user>:<pswd>@<db server>:3306/<database>''
ssl_args = {''ssl'': {''cert'':''/path/to/client-cert'',
''key'':''/path/to/client-key'',
''ca'':''/path/to/ca-cert''}}
create_engine(db_connect_string, connect_args=ssl_args)
SQLObject (no probado):
from sqlobject.mysql import MySQLConnection
connection = MySQLConnection(
db=self.db,
user=self.user,
password=self.password,
host=self.host,
ssl_key=self.sslkey,
ssl_cert=self.sslcert,
ssl_ca=self.sslca,
)