對於我的Flask應用程序,我想使用Flask-SQLAlchemy擴展連接到我在AWS RDS上創建的數據庫實例。使用Flask-SQLAlchemy連接到AWS RDS MySQL數據庫實例
當我嘗試連接時,應用程序超時,我得到以下錯誤:
sqlalchemy.exc.OperationalError: (OperationalError) (2003, "Can't connect to MySQL server on '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說,SQLALCHEMY_DATABASE_URI的格式對於mysql數據庫連接應該看起來像這樣:
mysql://username:[email protected]/db
此外,我可以檢查AWS RDS控制檯以獲取有關我的數據庫實例的信息。控制檯看起來像this。
現在我假設 「用戶名」中的SQLAlchemy是指「主用戶名」,在AWS RDS控制檯, 「服務器」中的SQLAlchemy是指在AWS RDS控制檯的「終端」, 和「 db「是指」數據庫實例名稱「
我在做什麼錯?
如果有人能夠使用AWS RDS控制檯術語爲我描述SQLALCHEMY_DATABASE_URI,那將完全解決問題。
這個答案現在不是很有效,因爲AWS中的接口已經改變:( – sbose 2015-07-20 10:09:42