शैतान विवरण में छुपाता है...
आपके पास 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'@'%'
यह वास्तव में docker-entrypoint-initdb.d
में आपकी init फ़ाइलों की आगे की प्रक्रिया को रोकता है और शेष छवि स्टार्टअप प्रक्रिया (अर्थात अस्थायी सर्वर पर आरंभीकरण के बाद mysql को पुनरारंभ करना) के साथ चला जाता है।
बस MYSQL_USER
ड्रॉप करें और MYSQL_PASSWORD
अपने env vars में, या root
. से भिन्न उपयोगकर्ता सेट करें और आप तुरंत अपनी इनिट फाइलों को संसाधित होते हुए देखेंगे (अपना डेटा डीआईआर फिर से खाली करना न भूलें)।