Iblis bersembunyi secara detail...
Anda memiliki definisi ganda dari root
di env vars Anda. root
pengguna dibuat secara default dengan kata sandi dari MYSQL_ROOT_PASSWORD
. Anda kemudian meminta untuk membuat pengguna "normal" kedua... dengan nama dan sandi yang sama persis (yaitu dengan MYSQL_USER
dan MYSQL_PASSWORD
)
Jika Anda melihat dengan cermat pada log startup Anda, Anda akan melihat kesalahan
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Ini sebenarnya menghentikan pemrosesan lebih lanjut dari file init Anda di docker-entrypoint-initdb.d
dan melanjutkan proses pengaktifan gambar lainnya (yaitu memulai ulang mysql setelah inisialisasi pada server sementara).
Cukup letakkan MYSQL_USER
dan MYSQL_PASSWORD
di env vars Anda, atau atur pengguna yang berbeda dari root
dan Anda akan segera melihat file init Anda diproses (jangan lupa untuk mengosongkan direktori data Anda lagi).