Der Teufel versteckt sich im Detail...
Sie haben eine doppelte Definition von root
in Ihren Umgebungsvariablen. root
Der Benutzer wird standardmäßig mit dem Passwort aus MYSQL_ROOT_PASSWORD
erstellt . Sie bitten dann darum, einen zweiten "normalen" Benutzer zu erstellen ... mit genau demselben Namen und Passwort (d. h. mit MYSQL_USER
und MYSQL_PASSWORD
)
Wenn Sie sich Ihr Startprotokoll genau ansehen, sehen Sie einen Fehler
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Dies stoppt tatsächlich die weitere Verarbeitung Ihrer Init-Dateien in docker-entrypoint-initdb.d
und fährt mit dem Rest des Image-Startvorgangs fort (d. h. Neustart von mysql nach der Initialisierung auf dem temporären Server).
Lassen Sie einfach MYSQL_USER
fallen und MYSQL_PASSWORD
in Ihren Umgebungsvariablen oder legen Sie einen anderen Benutzer als root
fest und Sie werden sofort sehen, wie Ihre Init-Dateien verarbeitet werden (vergessen Sie nicht, Ihr Datenverzeichnis wieder zu leeren).