【发布时间】:2013-01-28 19:25:47
【问题描述】:
对于我的 Flask 应用程序,我想使用 Flask-SQLAlchemy 扩展连接到我在 AWS RDS 上创建的数据库实例。
当我尝试连接时,应用程序超时并出现以下错误:
sqlalchemy.exc.OperationalError: (OperationalError) (2003, "Can't 连接到 MySQL 服务器 'xxxxxxxxxxxxxxx.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com'(60")
我的代码如下所示:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
application = Flask(__name__)
application.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://{master username}:{db password}@{endpoint}/{db instance name}'
db = SQLAlchemy(application)
@application.route('/')
def hello_world():
return 'Hello World'
if __name__ == '__main__':
application.run()
Flask-SQLAlchemy documentation 表示 mysql 数据库连接的 SQLALCHEMY_DATABASE_URI 的格式应如下所示:
mysql://username:password@server/db
此外,我可以查看 AWS RDS 控制台以获取有关我的数据库实例的信息。控制台看起来像this。
现在我假设 SQLAlchemy 中的“用户名”是指 AWS RDS 控制台中的“主用户名”, SQLAlchemy 中的“服务器”是指 AWS RDS 控制台中的“端点”, 而“db”指的是“数据库实例名称”
我做错了什么??
如果有人可以用 AWS RDS 控制台术语为我描述 SQLALCHEMY_DATABASE_URI,那将完全解决问题。
【问题讨论】:
-
如何将其用于 aws 旋转密钥,如果密钥更新,我们是否需要重新启动应用程序?
标签: mysql amazon-rds flask-sqlalchemy