के साथ एडब्ल्यूएस आरडीएस 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
इसके अतिरिक्त, मैं अपने डेटाबेस उदाहरण पर जानकारी के लिए एडब्ल्यूएस आरडीएस कंसोल की जांच कर सकता हूं। कंसोल this जैसा दिखता है।
अभी मैं यह सोचते हैं कि "उपयोगकर्ता नाम" SQLAlchemy में एडब्ल्यूएस आरडीएस कंसोल में "मास्टर प्रयोक्ता नाम" को संदर्भित करता है, "सर्वर" SQLAlchemy में "Endpoint" एडब्ल्यूएस आरडीएस कंसोल में, और "को संदर्भित करता है डीबी "को" डेटाबेस इंस्टेंस नाम "से संदर्भित करता है
मैं क्या गलत कर रहा हूं ??
यदि कोई एडब्ल्यूएस आरडीएस कंसोल शर्तों के साथ मेरे लिए SQLALCHEMY_DATABASE_URI का वर्णन कर सकता है, जो समस्या को पूरी तरह से हल करेगा।
यह उत्तर अब बहुत मान्य नहीं है क्योंकि एडब्ल्यूएस में इंटरफ़ेस बदल गया है :( – sbose