AIO अक्षम करें
यह मेरे लिए तब ठीक हो गया जब मुझे एआईओ त्रुटि मिली, जैसा कि आपने तब किया था जब मैं वर्चुअलबॉक्स से अतिथि डेबियन ओएस से एक कंटेनर शुरू कर रहा था और विंडोज 10 पर एक साझा फ़ोल्डर पर डेटाबेस फाइलें बना रहा था।
समस्या यह प्रतीत होती है कि AIO साझा किए गए फ़ोल्डरों पर, या कम से कम Windows के कुछ संस्करणों पर समर्थित नहीं है। ऐसा लगता है कि मेरी मुख्य मशीन के क्रैश होने के बाद विंडोज 10 प्रो से होम में चले जाने के बाद मेरे लिए ऐसा हुआ है।
विवरण के लिए:
यहां कुछ विकल्प दिए गए हैं:
विकल्प 1 - कंटेनर को इस तरह से शुरू करें:
docker run -it mysql --innodb_use_native_aio=0
विकल्प 2 - अपनी docker-compose फ़ाइल में कमांड जोड़ें:
command: --innodb_use_native_aio=0
संदर्भ में, यह मेरे काम करने वाले docker-compose.yml का प्रासंगिक हिस्सा है:
services:
db:
image: ${MYSQL_IMAGE}
command: "--innodb_use_native_aio=0"
volumes:
- ${DB_DATA_PATH}:/var/lib/mysql
ports:
- ${MYSQL_PORT}:3306
विकल्प 3 -- अपनी बिल्ड में अपनी my.cnf फ़ाइल में एक विकल्प जोड़ें
innodb_use_native_aio=0
विकल्प 4 - स्थानीय फाइल सिस्टम पर अपना डीबी जारी न रखें। (आपके डीबी को नष्ट कर सकता है, अनुशंसित नहीं)
बस अपने डॉकटर कॉन्फ़िगरेशन में वॉल्यूम हटा दें जिसमें आपका mysql db है। बेशक, आपका डीबी हटा दिया जाएगा यदि आप डॉकर-कंपोज़ डाउन करते हैं या अन्यथा अपने कंटेनर को नष्ट कर देते हैं, तो वह है।