ホームページ  >  記事  >  データベース  >  リクエストされた質問と回答の形式に従って、いくつかのタイトルのオプションを次に示します。 オプション 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」を使用する必要があります。

Updated 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',
        }
    }
}

さらに、追加のDjango から接続を試行する前に MySQL ポートが開いているかどうかを確認するコマンドが Docker Compose 構成ファイルに追加されました。

これらの変更を適用することで、Docker 環境内の Django と MySQL 間の接続が正常に確立されました。

以上がリクエストされた質問と回答の形式に従って、いくつかのタイトルのオプションを次に示します。 オプション 1 (より直接的): * Docker Compose の Django: MySQL データベースに接続できないのはなぜですか? オプション 2 (より詳細な仕様の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。