[英]How do I connect development-stage Django web app to an existing AWS MySQL database?
簡短的問題-如何從開發階段的Django Web應用程序連接到現有的Amazon Web Services MySQL數據庫?
語境:
我正在使用Django框架創建網頁。
我已經成功創建了一個AWS MySQL RDS數據庫,並導入了我的數據,並已通過MySQL Workbench成功連接到它。
現在,我正試圖從Django應用程序連接到數據庫。 我將需要從應用程序中獲取數據庫的只讀功能...我將不會向數據庫寫入任何新信息。 此外,我試圖在開發環境中執行此操作,因為我什至沒有接近任何有價值的產品(即,我正在使用筆記本電腦在本地工作)。
我已將AWS數據庫信息添加到我的Django settings.py文件中,並根據我的研究生成了使用Django的'inspectdb'實用程序所需的必要模型。 我已經嘗試過了,收到的結果錯誤是:
django.db.utils.OperationalError:(1045,u“拒絕訪問用戶'[ 我的用戶名在這里,實際上顯示了我的字面名字,而不是由AWS建立的任何類型的用戶名 ]'@'pool- [ 我IP地址在這里 ] .nwrknj.fios.verizon.net'
是否還有其他人遇到此問題並確定了解決方案?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'[removed]': {
'NAME': '[removed]',
'ENGINE': 'django.db.backends.mysql',
'USERNAME': '[removed]',
'PASSWORD': '[removed]',
'HOST': '[removed].us-west-2.rds.amazonaws.com',
'PORT': '3306'
除非您將DATABASE_ROUTERS
設置為使用備用數據庫,否則Django中的所有內容都將使用default
數據庫。 默認情況下擺脫當前的ENGINE和NAME並將所有[removed]
數據庫信息移到default
。
還要確保您的FIOS IP地址已打開AWS RDS端口3306。 理想情況下,您將在AWS中將其限制為僅實際服務器(無論是在AWS還是其他地方),但是現在您可能必須設置一個較大的IP范圍,以允許您的FIOS IP在開發期間定期更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.