Docker Compose 中的 Django:建立 MySQL 连接
在 Docker 环境中将 Django 连接到 MySQL 数据库可能具有挑战性。本文深入探讨了尝试建立连接时遇到的问题,导致错误:“无法连接到‘mariadb55’上的 MySQL 服务器(111“连接被拒绝”)。”
最初,数据库可以通过 Docker Compose up db 访问,并且可以通过 Python manage.py runserver 连接本地实例。然而,Django 内部的连接失败。
经过进一步调查,发现问题是由于 Django settings.py 配置文件中使用了错误的端口和主机名造成的。
解决方案:
解决方案是确保在 settings.py 文件中设置正确的端口和主机名。具体来说,设置应使用“db”作为主机,“3306”作为端口。
更新了settings.py:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'belter', 'HOST': 'db', 'PORT': '3306', 'PASSWORD': 'belter_2017', 'default-character-set': 'utf8', 'OPTIONS': { 'sql_mode': 'traditional', } } }
此外,一个额外的命令已添加到 Docker Compose 配置文件中,用于在尝试从 Django 连接之前检查 MySQL 端口是否打开。
通过应用这些更改,Docker 环境中的 Django 和 MySQL 之间的连接已成功建立。
以上是以下是一些标题选项,遵循您要求的问答格式: 选项1(更直接): * Docker Compose 中的 Django:为什么我无法连接到我的 MySQL 数据库? 选项 2(更具体的详细内容。更多信息请关注PHP中文网其他相关文章!