Maison >base de données >tutoriel mysql >Voici quelques options de titre, suivant le format de question-réponse que vous avez demandé : Option 1 (Plus directe) : * Django dans Docker Compose : pourquoi ne puis-je pas me connecter à ma base de données MySQL ? Option 2 (Plus de détails

Voici quelques options de titre, suivant le format de question-réponse que vous avez demandé : Option 1 (Plus directe) : * Django dans Docker Compose : pourquoi ne puis-je pas me connecter à ma base de données MySQL ? Option 2 (Plus de détails

Linda Hamilton
Linda Hamiltonoriginal
2024-10-28 08:24:02266parcourir

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):

*

Django dans Docker Compose : établissement d'une connexion MySQL

Connecter Django à une base de données MySQL dans un environnement Docker peut être difficile. Cet article se penche sur le problème rencontré lors de la tentative d'établissement de la connexion, conduisant à l'erreur : "Impossible de se connecter au serveur MySQL sur 'mariadb55' (111 "Connexion refusée")."

Initialement, la base de données était accessible via Docker Compose up db et une instance locale était connectable via Python manage.py runserver. Cependant, la connexion depuis Django a échoué.

Après une enquête plus approfondie, il a été découvert que le problème provenait de l'utilisation d'un port et d'un nom d'hôte incorrects dans le fichier de configuration settings.py de Django.

Solution :

La solution consistait à garantir que le port et le nom d'hôte corrects étaient définis dans le fichier settings.py. Plus précisément, les paramètres doivent utiliser « db » comme hôte et « 3306 » comme port.

Paramètres.py mis à jour :

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

De plus, un paramètre supplémentaire La commande a été ajoutée au fichier de configuration Docker Compose pour vérifier si le port MySQL était ouvert avant de tenter la connexion depuis Django.

En appliquant ces modifications, la connexion entre Django et MySQL dans l'environnement Docker a été établie avec succès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn