Diabo se esconde nos detalhes...
Você tem uma definição dupla de
root
em seu env vars. root
o usuário é criado por padrão com a senha de MYSQL_ROOT_PASSWORD
. Você então pede para criar um segundo usuário "normal"... com exatamente o mesmo nome e senha (ou seja, com MYSQL_USER
e MYSQL_PASSWORD
) Se você olhar atentamente para o seu log de inicialização, verá um erro
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Isso realmente interrompe o processamento de seus arquivos init em
docker-entrypoint-initdb.d
e continua com o resto do processo de inicialização da imagem (ou seja, reiniciar o mysql após a inicialização no servidor temporário). Basta soltar
MYSQL_USER
e MYSQL_PASSWORD
em seu env vars ou defina um usuário diferente de root
e você verá imediatamente seus arquivos init processados (não se esqueça de esvaziar seu diretório de dados novamente).