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 » ?
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 :
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!