首頁  >  文章  >  資料庫  >  以下是一些標題選項,遵循您要求的問答格式: 選項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