Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas accéder à MySQL même après avoir défini MYSQL_ROOT_PASSWORD ?

Pourquoi ne puis-je pas accéder à MySQL même après avoir défini MYSQL_ROOT_PASSWORD ?

DDD
DDDoriginal
2024-12-01 16:00:14258parcourir

Why Can't I Access MySQL Even After Setting MYSQL_ROOT_PASSWORD?

Comment accéder à MySQL si MYSQL_ROOT_PASSWORD est défini

Problème :

Malgré la définition de la variable d'environnement MYSQL_ROOT_PASSWORD, les tentatives d'accès MySQL génère l'erreur : Accès refusé pour l'utilisateur root@localhost (en utilisant le mot de passe : OUI).

Résolution :

Le problème survient lors du démarrage du conteneur MySQL sur un volume préexistant contenant un système de fichiers de base de données MySQL. Dans de tels cas, le conteneur ignore l'initialisation et les variables d'environnement n'ont aucun effet.

Solution :

  1. Supprimer le volume de données existant :

    docker-compose down -v
  2. Recréez le conteneur :

    docker-compose up -d

Remarque : La suppression du volume effacera toutes les données de la base de données existante. Créez une sauvegarde si nécessaire.

Informations supplémentaires :

  • La documentation officielle de l'image MySQL Docker indique : "aucune des variables ci-dessous n'aura d'effet si vous démarrez le conteneur avec un répertoire de données qui contient déjà une base de données."
  • Le même problème peut se produire avec d'autres images Docker de bases de données officielles (par exemple, Postgres, MongoDB).
  • En cas de conversion vers un montage lié, vous devrez supprimer manuellement tout son contenu pour forcer l'initialisation.

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