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 并记录到文件

Elastic Beanstalk 上的 SSL

如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?

如何避免 AWS Elastic Beanstalk 上的 TooManyApplicationVersion 异常?

无法连接到 Elastic Beanstalk 上的 ActionCable

AWS Elastic Beanstalk 上的 Wordpress