Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मेरी docker-entrypoint-initdb.d स्क्रिप्ट (जैसा कि docker-compose.yml में निर्दिष्ट है) को एक ताज़ा MySQL इंस्टेंस प्रारंभ करने के लिए निष्पादित क्यों नहीं किया गया है?

शैतान विवरण में छुपाता है...

आपके पास 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 . से भिन्न उपयोगकर्ता सेट करें और आप तुरंत अपनी इनिट फाइलों को संसाधित होते हुए देखेंगे (अपना डेटा डीआईआर फिर से खाली करना न भूलें)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:पिछले महीने और महीने पहले का चयन करें

  2. MySQL क्रॉसस्टैब / पिवट एग्रीगेशन। अन्य तालिका में कॉलम के आधार पर गणना निकालना

  3. विभाजित दिनांक संबंधित सप्ताहों में होती है

  4. Django क्वेरी प्राकृतिक सॉर्ट

  5. मैपबॉक्स जावास्क्रिप्ट एपीआई के साथ उपयोग करने के लिए MySql से php में एक GeoJson बनाना