如何通过 SSL 连接使用 Alembic?

How to use Alembic with a SSL connection?

我使用 Alembic 来管理我的迁移。我的数据库在 AWS 上,我想用 SSL 连接它。

在我的 alembic.ini 中有行

[production]
script_location = alembic_prod
sqlalchemy.url = mysql+pymysql://user:password@my-rds-host.eu-west-1.rds.amazonaws.com/mydatabase

当然,如果user有权限在没有SSL的情况下连接基地,它就可以工作,否则就不行。

如何要求SSL连接,并指定certificate ?

您首先需要证书包 -

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport

然后您可以将适当的参数添加到您的 URL 中,如下所示 -

How to connect to mysql server with SSL from a flask app

要用更具体的步骤重复之前的回答:

  1. https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem
  2. 下载 RDS 证书包
  3. 使用ssl_key选项指向证书:
sqlalchemy.url = mysql+pymysql://user:password@my-rds-host.eu-west-1.rds.amazonaws.com/mydatabase?ssl_key=/Users/DaMaill/Downloads/rds-ca-2019-root.pem