python – Elastic Beanstalk上的Django MySQL – 查询MySQL时出错

当我在弹性beanstalk上托管的Django应用程序上查询
MySQL时,我收到错误.错误说:

/ admin / login中的OperationalError
(1045,“访问被拒绝用户’adminDB’@’172.30.23.5′(使用密码:是)”)

这是我的.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吗?与安全组或某事有关?

谢谢!

最佳答案 感谢您对@DrewPierce的回复,但问题很简单,而且非常愚蠢.原来我的RDS密码中的美元符号导致了问题.将其更改为更简单的密码,我成功登录.

希望这有助于其他任何有类似问题的人!

点赞