Дяволът се крие в детайлите...
Имате двойна дефиниция на root
във вашите env vars. root
потребителят се създава по подразбиране с парола от MYSQL_ROOT_PASSWORD
. След това искате да създадете втори „нормален“ потребител... с точно същото име и парола (т.е. с MYSQL_USER
и MYSQL_PASSWORD
)
Ако погледнете внимателно дневника си при стартиране, ще видите грешка
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Това всъщност спира по-нататъшната обработка на вашите init файлове в docker-entrypoint-initdb.d
и продължава с останалата част от процеса на стартиране на изображението (т.е. рестартиране на mysql след инициализация на временен сървър).
Просто пуснете MYSQL_USER
и MYSQL_PASSWORD
във вашите env vars или задайте потребител, различен от root
и вие незабавно ще видите вашите init файлове обработени (не забравяйте отново да изпразните директорията си с данни).