इसलिए मेरे पास एक परीक्षण डीबी सर्वर है जो एक प्रतिकृति स्ट्रीम पर सेटअप किया गया था। नाम से अधिक एक अनुकूलन के माध्यम से आया था कि दास दासादिर पर जल्दी से अंतरिक्ष भर गया। माईसक्ल डट कर बस कुछ और जगह की प्रतीक्षा कर रहा था।
यह डेटादिर एक फाइल सिस्टम है जिसका उपयोग केवल mysql के डेटादिर के रूप में किया जाता है ताकि मुक्त करने के लिए कुछ और न हो।
मेरे पास 4 गिग इनोडब टेस्ट टेबल था जो प्रतिकृति स्ट्रीम का हिस्सा नहीं था इसलिए मुझे लगा कि मैं यह देखने के लिए कुछ कोशिश करूंगा कि क्या यह काम करेगा, और एक परीक्षण वातावरण होने के नाते मैं बहुत चिंतित नहीं था अगर चीजें बुरी तरह से गलत हो गईं।
यहां मैंने जो कदम उठाए हैं
- मैं जिस टेबल को हिलाने जा रहा था, उसे फ्लश कर दिया
- इस पर एक रीड लॉक लगाया (भले ही इसे कुछ भी नहीं लिख रहा था और यह प्रतिकृति स्ट्रीम में नहीं था)
- एक। प्रणाली पर
- मेज खोल दी
- उस तालिका को काट दिया गया - इसने अनुकूलन को समाप्त करने के लिए पर्याप्त स्थान मुक्त कर दिया और प्रतिकृति को फिर से शुरू कर दिया।
- स्लाव करना / बंद करना mysql
- Tmp से फ़ाइल की प्रतिलिपि डेटा dir पर वापस करें
- Mysql को पुनरारंभ करें
.Err लॉग में कुछ भी नहीं दिखता है, चीजें अच्छी लगती हैं। मैं कनेक्ट करता हूं और mydb का उपयोग करता हूं; और टेबल को देखने के लिए मैं शो टेबल में गड़बड़ कर रहा था। लेकिन, अगर मैं कोशिश करता हूं
select * from testtable limit 10;
मुझे त्रुटि मिलती है
ERROR 1146 (42S02): Table 'mydb.testtable' doesn't exist
मैं अब तक जो कुछ भी बता सकता हूं उससे मैं ठीक अन्य सभी तालिकाओं से पढ़ सकता हूं और किसी भी शिकायत को फिर से शुरू किया गया है।
क्या इस बिंदु से उबरने के लिए मैं कुछ कर सकता हूं? मैं इसे खरोंच से पुनर्निर्माण कर सकता हूं यदि आवश्यकता हो, लेकिन उत्सुक था कि दूसरों ने इस उद्यम के बारे में सामान्य रूप से क्या सोचा था। क्या मेरे द्वारा उठाए गए कदमों की श्रृंखला के बारे में कुछ था जो डब्ल्यू / अधिक निर्दोष परिणामों को समाप्त करेगा?
क्या होगा अगर यह एक परीक्षण सर्वर नहीं था जो मैं बस 'इसे जीवित नहीं कर सकता' और देखो क्या होता है? अगर मुझे ऐसा करना है तो प्रोडक्शन स्लेव पर अस्थायी रूप से स्पेस खाली करने का सबसे अच्छा तरीका क्या होगा?
Table 'X' doesn't exist in engine
। क्या मुझे प्रत्येक तालिका के लिए उपरोक्त विधि करनी है या क्या इसे ठीक करने के बेहतर तरीके हैं?