Đối với ứng dụng Flask của tôi, tôi muốn sử dụng phần mở rộng Flask-SQLAlchemy để kết nối với một cá thể cơ sở dữ liệu mà tôi đã tạo trên AWS RDS.Kết nối với cá thể cơ sở dữ liệu MySQL AWS RDS với Flask-SQLAlchemy
Khi tôi cố gắng để kết nối, thời gian ứng dụng ra và tôi nhận được lỗi sau:
sqlalchemy.exc.OperationalError: (OperationalError) (2003, "Can't connect to MySQL server on 'xxxxxxxxxxxxxxx.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com'(60")
Mã của tôi trông như thế này:
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()
Các Flask-SQLAlchemy documentation nói rằng định dạng của SQLALCHEMY_DATABASE_URI cho các kết nối cơ sở dữ liệu mysql sẽ trông giống như sau:
mysql://username:[email protected]/db
Ngoài ra, tôi có thể kiểm tra giao diện điều khiển AWS RDS để biết thông tin về cá thể cơ sở dữ liệu của tôi. Giao diện điều khiển trông giống như this.
Ngay bây giờ tôi đang giả định rằng "username" trong SQLAlchemy đề cập đến "Master Tên đăng nhập" trong AWS RDS console, "máy chủ" trong SQLAlchemy đề cập đến "Endpoint" trong AWS RDS console, và " db "đề cập đến" Tên sơ thẩm cơ sở dữ liệu "
Tôi đang làm gì sai?
Nếu ai đó có thể mô tả SQLALCHEMY_DATABASE_URI cho tôi bằng điều khoản AWS RDS, điều đó sẽ giải quyết được hoàn toàn vấn đề.
Câu trả lời này không hợp lệ vì giao diện trong AWS đã thay đổi :( – sbose