Ďábel se skrývá v detailech...
Máte dvojitou definici root
ve vašem env vars. root
uživatel je ve výchozím nastavení vytvořen s heslem z MYSQL_ROOT_PASSWORD
. Poté požádáte o vytvoření druhého "normálního" uživatele... s přesně stejným jménem a heslem (tj. s MYSQL_USER
a MYSQL_PASSWORD
)
Pokud se pozorně podíváte do svého spouštěcího protokolu, uvidíte chybu
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Tím se ve skutečnosti zastaví další zpracování vašich init souborů v docker-entrypoint-initdb.d
a pokračuje se zbytkem procesu spouštění obrazu (tj. restartování mysql po inicializaci na dočasném serveru).
Jednoduše pusťte MYSQL_USER
a MYSQL_PASSWORD
ve vaší env vars nebo nastavte jiného uživatele než root
a okamžitě uvidíte, že jsou vaše init soubory zpracovány (nezapomeňte znovu vyprázdnit datový adresář).