Maison >base de données >tutoriel mysql >Pourquoi un « accès refusé » se produit-il pour l'utilisateur racine MySQL même lorsque MYSQL_ROOT_PASSWORD est défini dans Docker ?
MySQL_ROOT_PASSWORD est défini, mais l'accès est refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI)
Dans les environnements MySQL dockerisés , la définition de la variable d'environnement MYSQL_ROOT_PASSWORD n'est pas suffisante pour garantir l'accès à la base de données. En effet, l'image n'initialisera pas une nouvelle base de données si le volume db_data contient déjà une installation existante.
Dépannage :
Supprimez le volume db_data pour forcer l'initialisation :
Convertir en support de liaison si vous le souhaitez :
Après avoir initialisé la base de données, vous pouvez convertissez le volume en un montage lié en modifiant la section des volumes dans docker-compose.yml à :
volumes: - /host/path/to/db_data:/var/lib/mysql
Vérifiez d'autres problèmes potentiels :
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!