Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错
Posted
技术标签:
【中文标题】Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错【英文标题】:Django + MySQL on Elastic Beanstalk - Error When Querying MySQL 【发布时间】:2015-10-01 05:21:07 【问题描述】:我在弹性 beanstalk 上托管的 Django 应用程序上查询 mysql 时遇到错误。错误说:
/admin/login 处的操作错误 (1045,“用户'adminDB'@'172.30.23.5'的访问被拒绝(使用密码:YES)”)
这是我的 .config 文件:
container_commands:
01_migrate:
command: "source /opt/python/run/venv/bin/activate && python manage.py migrate --noinput"
leader_only: true
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "mysite.settings"
"PYTHONPATH": "/opt/python/current/app/mysite:$PYTHONPATH"
"ALLOWED_HOSTS": ".elasticbeanstalk.com"
"aws:elasticbeanstalk:container:python":
WSGIPath: mysite/wsgi.py
NumProcesses: 3
NumThreads: 20
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "www/static/"
这是我在 settings.py 上的数据库部分:
DATABASES =
'default':
'ENGINE': 'django.db.backends.mysql',
'NAME': os.environ['RDS_DB_NAME'],
'USER': os.environ['RDS_USERNAME'],
'PASSWORD': os.environ['RDS_PASSWORD'],
'HOST': os.environ['RDS_HOSTNAME'],
'PORT': os.environ['RDS_PORT'],
我通过eb create
命令创建了 eb 环境,然后在他们网站的 eb 控制台上创建了一个 RDS 数据库。我还需要做些什么来将 Django 连接到 MySQL 吗?与安全组有关吗?
谢谢!
【问题讨论】:
我怀疑您的安全组在 Aws 上很好(检查一下),但 mysql 表grants
不是
有人可以提示我将哪些模块放入需求文本文件中以使 Elastic Beanstalk 接受我的 Django 上传。我已经尝试了好几天了。也许有人有教程或一些不错的链接,我可以在那里找到帮助!
【参考方案1】:
感谢@DrewPierce 的回复,但问题很简单,而且非常愚蠢。原来我的 RDS 密码中的美元符号导致了问题。改成更简单的密码就成功登录了。
希望这可以帮助遇到类似问题的其他人!
【讨论】:
天哪,玩了一整天!谢谢! 3 小时就完事了。感谢您的回答! 3 小时挠头,我无法想象这有多傻,不可能!以上是关于Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk 上的 Spring Boot 并记录到文件
如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?
如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?