使用 SSL 连接时丢失与 MySQL 的连接
Lost connection to MySQL while connecting using SSL
我正在尝试使用 SSL 和 Flask-SQLAlchemy 连接到云 SQL 实例 运行 MySQL。以下是我遵循的步骤:
- 我已经能够使用云 SQL Auth 代理通过
127.0.0.1:3306
打开一个连接,一切正常
- 我可以在此配置中使用 MySQL Workbench 成功连接到数据库,所以我尝试使用 SSL
连接
- 我生成了客户端证书
- 我指定了以下连接参数:
current_app.config['SQLALCHEMY_POOL_RECYCLE'] = 280
current_app.config['SQLALCHEMY_POOL_TIMEOUT'] = 20
current_app.config['SQLALCHEMY_ENGINE_OPTIONS'] = {
'connect_args': {
'ssl': {
'cert': '~/AppData/Local/Google/Cloud SDK/Projects/SIF/certs/client-cert.pem',
'key': '~/AppData/Local/Google/Cloud SDK/Projects/SIF/certs/client-key.pem',
'ca': '~/AppData/Local/Google/Cloud SDK/Projects/SIF/certs/server-ca.pem'
}
}
}
现在,每当我尝试打开连接时,都会收到错误 Lost connection to MySQL server during query
我做错了什么?
附带问题:从 App Engine 连接到数据库时,我什至需要尝试配置 SSL 吗?
如果您通过云 SQL Auth 代理连接,则不需要也不支持客户端 SSL 证书。代理使用 Cloud SQL 处理身份验证和加密。如果您添加 SSL 证书以连接到代理,连接将失败,因为代理不需要该连接类型。
我正在尝试使用 SSL 和 Flask-SQLAlchemy 连接到云 SQL 实例 运行 MySQL。以下是我遵循的步骤:
- 我已经能够使用云 SQL Auth 代理通过
127.0.0.1:3306
打开一个连接,一切正常 - 我可以在此配置中使用 MySQL Workbench 成功连接到数据库,所以我尝试使用 SSL 连接
- 我生成了客户端证书
- 我指定了以下连接参数:
current_app.config['SQLALCHEMY_POOL_RECYCLE'] = 280
current_app.config['SQLALCHEMY_POOL_TIMEOUT'] = 20
current_app.config['SQLALCHEMY_ENGINE_OPTIONS'] = {
'connect_args': {
'ssl': {
'cert': '~/AppData/Local/Google/Cloud SDK/Projects/SIF/certs/client-cert.pem',
'key': '~/AppData/Local/Google/Cloud SDK/Projects/SIF/certs/client-key.pem',
'ca': '~/AppData/Local/Google/Cloud SDK/Projects/SIF/certs/server-ca.pem'
}
}
}
现在,每当我尝试打开连接时,都会收到错误 Lost connection to MySQL server during query
我做错了什么?
附带问题:从 App Engine 连接到数据库时,我什至需要尝试配置 SSL 吗?
如果您通过云 SQL Auth 代理连接,则不需要也不支持客户端 SSL 证书。代理使用 Cloud SQL 处理身份验证和加密。如果您添加 SSL 证书以连接到代理,连接将失败,因为代理不需要该连接类型。