Il diavolo si nasconde nei dettagli...
Hai una doppia definizione di root
nel tuo ambiente vars. root
l'utente viene creato per impostazione predefinita con la password da MYSQL_ROOT_PASSWORD
. Quindi chiedi di creare un secondo utente "normale"... con lo stesso identico nome e password (cioè con MYSQL_USER
e MYSQL_PASSWORD
)
Se guardi attentamente il tuo registro di avvio, vedrai un errore
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Questo in realtà interrompe l'ulteriore elaborazione dei tuoi file init in docker-entrypoint-initdb.d
e continua con il resto del processo di avvio dell'immagine (ovvero riavviando mysql dopo l'inizializzazione sul server temporaneo).
Rilascia semplicemente MYSQL_USER
e MYSQL_PASSWORD
nella tua env vars o imposta un utente diverso da root
e vedrai immediatamente i tuoi file init elaborati (non dimenticare di svuotare nuovamente la directory dei tuoi dati).