नई CentOS स्थापना।
मैं एक बड़े DB (2GB sql फ़ाइल) का आयात चला रहा था और एक समस्या थी। SSH क्लाइंट कनेक्शन खोता हुआ लग रहा था और आयात जमने लगा था। मैंने mysql में प्रवेश करने के लिए एक और विंडो का उपयोग किया और आयात मृत दिखाई दिया, एक विशेष 3M पंक्ति तालिका पर अटक गया।
इसलिए मैंने कोशिश की
DROP DATABASE huge_db;
15-20 मिनट बाद, कुछ नहीं। एक अन्य विंडो में, मैंने किया:
/etc/init.d/mysqld restart
DROP DB विंडो गड़बड़ हो गई: SERUT SHUTDOWN। तब मैंने वास्तव में भौतिक सर्वर को फिर से शुरू किया।
वापस mysql में लॉग इन किया, जाँच की और db अभी भी वहाँ था, भाग गया
DROP DATABASE huge_db;
फिर से, और फिर से मैं पहले से ही लगभग 5 मिनट इंतजार कर रहा हूँ।
एक बार फिर, यह ताजा स्थापना है। huge_db
केवल डीबी (प्रणाली डीबीएस के अलावा अन्य) है। मैं कसम खाता हूँ कि मैंने db की इस बड़ी को पहले और जल्दी से गिरा दिया है, लेकिन शायद मैं गलत हूँ।
मैंने डेटाबेस को सफलतापूर्वक गिरा दिया है। इसमें 30 मिनट का समय लगा। यह भी ध्यान दें कि मुझे लगता है कि मुझसे गलती हुई जब मुझे लगा कि mysqldump आयात मर चुका है। टर्मिनल कनेक्शन खो गया था, लेकिन मुझे लगता है कि प्रक्रिया अभी भी चल रही थी। मैं सबसे अधिक संभावना है कि आयात मध्य-तालिका (3M पंक्ति तालिका) को मार डाला और शायद पूरे db के माध्यम से रास्ते का 3/4 हिस्सा। यह भ्रामक था कि "शीर्ष" ने केवल 3% मेमोरी का उपयोग करके mysql दिखाया, जब ऐसा लगा कि इसे अधिक उपयोग करना चाहिए।
DB को छोड़ने से 30 मिनट लगते हैं, इसलिए, फिर से, मुझे सर्वर को पुनरारंभ नहीं करना पड़ सकता है और संभवतः DROP के समाप्त होने का इंतजार किया जा सकता है, लेकिन मुझे नहीं पता कि mysql DROP क्वेरी प्राप्त करने के लिए कैसे प्रतिक्रिया देगा वही db जो यह mysqldump के माध्यम से आयात कर रहा है।
फिर भी, यह सवाल बना हुआ है कि 2GB डेटाबेस को 30min + से DROP तक क्यों ले जाता है, जब यह सब करना चाहिए कि सभी db फ़ाइलों को हटा दें और DB से सभी संदर्भों को information_schema से हटा दें? क्या बड़ी बात है?
DROP DATABASE
आदेश जारी करते हैं तो सर्वर तब तक आगे नहीं बढ़ेगा जब तक सभी कनेक्शन बंद नहीं हो जाते।