我想通过烧瓶和
连接到mysql服务器app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://your-username:your-password@localhost/schema'
如何在连接中添加ca-cert,client-key和client-cert?
答案 0 :(得分:8)
您可以在URI中添加这些信息:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://your-username:your-password@localhost/schema?ssl_key=MyCertFolder/client-key.pem&ssl_cert=MyCertFolder/client-cert.pem'
或者使用SQLAlchemy create_engine,请查看this post
答案 1 :(得分:1)
另一种解决方案是使用sqlalchemy.engine.url.URL定义URL。
sqlUrl = sqlalchemy.engine.url.URL(
drivername="mysql+pymysql",
username=db_user,
password=db_pass,
host=db_host,
port=3306,
database=db_name,
query={"ssl_ca": "main_app/certs/BaltimoreCyberTrustRoot.crt.pem"},
)
create_engine(sqlUrl)
您可以在查询参数中包含SSL参数作为字典。
如果您使用Flask通过诸如SQLALCHEMY_DATABASE_URI之类的配置参数而不是直接使用create_engine来初始化SqlAlchemy引擎,则此方法很有用。
答案 2 :(得分:0)