简短问题 - 如何从我的开发阶段Django Web应用程序连接到现有的Amazon Web Services MySQL数据库?
上下文:
我正在使用Django框架创建一个网页。
我已经成功创建了一个AWS MySQL RDS数据库并导入了我的数据并通过MySQL Workbench成功连接到它。
我现在正处于尝试从我的Django应用程序连接到数据库的位置。我将要求应用程序内的数据库中的只读功能...我不会向数据库写任何新信息。此外,我试图在开发环境中这样做,因为我甚至不接近任何有价值的产品(即,我在我的笔记本电脑本地工作)。
我已将AWS数据库信息添加到我的Django settings.py文件中,并根据我的研究生成必要的模型,我需要使用Django' inspectdb& #39;效用。我试过了,收到的错误是:
django.db.utils.OperationalError:(1045,你"用户访问被拒绝' [我的用户名在这里,实际上显示了我的文字名,而不是任何类型的用户名)由AWS建立]' @'池 - [我的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'
答案 0 :(得分:0)
除非您DATABASE_ROUTERS
设置为使用备用数据库,否则Django中的所有内容都将使用default
数据库。在默认情况下删除当前的ENGINE和NAME,并将所有[removed]
db信息移动到default
。
还要确保AWS RDS端口3306对您的FIOS IP地址开放。理想情况下,您可以将AWS中的限制仅限于实际的服务器(无论是在AWS还是其他地方),但是现在您可能需要设置一个广泛的IP范围,以便在开发期间定期更改FIOS IP。