首页  >  文章  >  数据库  >  以下是一些标题选项,遵循您要求的问答格式: 选项1(更直接): * Docker Compose 中的 Django:为什么我无法连接到我的 MySQL 数据库? 选项 2(更具体

以下是一些标题选项,遵循您要求的问答格式: 选项1(更直接): * Docker Compose 中的 Django:为什么我无法连接到我的 MySQL 数据库? 选项 2(更具体

Linda Hamilton
Linda Hamilton原创
2024-10-28 08:24:02196浏览

Here are a few title options, following the question-answer format you requested:

Option 1 (More direct):

* Django in Docker Compose: Why Can't I Connect to My MySQL Database?

Option 2 (More specific):

*

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn