Le diable se cache dans les détails...
Vous avez une double définition de root
dans vos variables d'environnement. root
l'utilisateur est créé par défaut avec le mot de passe de MYSQL_ROOT_PASSWORD
. Vous demandez alors de créer un deuxième utilisateur "normal"... avec exactement le même nom et mot de passe (c'est-à-dire avec MYSQL_USER
et MYSQL_PASSWORD
)
Si vous regardez attentivement votre journal de démarrage, vous verrez une erreur
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Cela arrête en fait le traitement ultérieur de vos fichiers init dans docker-entrypoint-initdb.d
et continue avec le reste du processus de démarrage de l'image (c'est-à-dire le redémarrage de mysql après l'initialisation sur le serveur temporaire).
Déposez simplement MYSQL_USER
et MYSQL_PASSWORD
dans vos env vars, ou définissez un utilisateur différent de root
et vous verrez immédiatement vos fichiers d'initialisation traités (n'oubliez pas de vider à nouveau votre répertoire de données).