对于我的Flask应用程序,我想使用Flask-SQLAlchemy扩展来连接我在AWS RDS上创建的数据库实例.
当我尝试连接时,应用程序超时,我收到以下错误:
sqlalchemy.exc.OperationalError :( OperationalError)(2003,"无法连接到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()
Run Code Online (Sandbox Code Playgroud)
该瓶-SQLAlchemy的文档说,SQLALCHEMY_DATABASE_URI对mysql数据库连接的格式应该是这样的:
mysql://username:password@server/db
Run Code Online (Sandbox Code Playgroud)
此外,我可以检查AWS RDS控制台以获取有关我的数据库实例的信息.控制台看起来像这样.
现在我假设SQLAlchemy中的"用户名"是指AWS RDS控制台中的"主用户名",SQLAlchemy中的"server"是指AWS RDS控制台中的"端点","db"是指"数据库"实例名称"
我究竟做错了什么??
如果有人可以使用AWS RDS控制台术语为我描述SQLALCHEMY_DATABASE_URI,那么这将完全解决问题.