簡體   English   中英

如何將開發階段的Django Web應用程序連接到現有的AWS MySQL數據庫?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM