Maison >base de données >tutoriel mysql >Pourquoi mon conteneur Docker MySQL affiche-t-il « Accès refusé » malgré la configuration de « MYSQL_ROOT_PASSWORD » ?

Pourquoi mon conteneur Docker MySQL affiche-t-il « Accès refusé » malgré la configuration de « MYSQL_ROOT_PASSWORD » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-05 08:03:10471parcourir

Why Does My MySQL Docker Container Show

MYSQL_ROOT_PASSWORD est défini, mais j'obtiens un "accès refusé" lorsque j'essaie d'accéder à la base de données MySQL dans un conteneur Docker

Problème :

Vous avez défini MYSQL_ROOT_PASSWORD dans votre Docker docker-compose.yml, mais lorsque vous tentez de vous connecter à la base de données MySQL, vous recevez l'erreur "Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI)."

Cause :

La cause la plus probable est que vous démarrez votre conteneur MySQL sur un volume préexistant qui contient déjà un système de fichiers de base de données MySQL. Dans ce cas, aucune des variables d'environnement, y compris MYSQL_ROOT_PASSWORD, n'aura d'effet.

Solution :

Pour repartir de zéro et initialiser votre conteneur, vous devez supprimez le volume de données existant et démarrez le conteneur avec un nouveau. Cela effacera toutes les bases de données précédentes dans le volume de données, alors assurez-vous de créer une sauvegarde si nécessaire.

Étapes :

  1. Utilisez docker-compose down - v pour supprimer le volume de données existant.
  2. Utilisez docker-compose up -d pour démarrer le conteneur avec une nouvelle donnée volume.

Informations supplémentaires :

Ce problème ne se limite pas aux images Docker MySQL. De nombreuses images Docker officielles pour les bases de données (par exemple, PostgreSQL, MongoDB) fonctionnent de la même manière. Par conséquent, si vous rencontrez ce problème avec d'autres bases de données, la solution de contournement consistant à supprimer le volume de données et à démarrer le conteneur à partir de zéro s'appliquera probablement.

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