ऐसा कुछ भी नहीं है जो आप वास्तव में कर सकते हैं, क्योंकि ibdata1 के अंदर UNDO तालिकाओं के माध्यम से एक रोलबैक किया जा रहा है , जिसे बहुत अधिक बढ़ जाना चाहिए था।
यदि आप mysqld प्रक्रिया को मारते हैं और mysql को पुनः आरंभ करते हैं, तो यह बस पिकअप होगा जहां यह क्रैश रिकवरी चक्र के भाग के रूप में छोड़ा गया था।
अस्वीकरण: डेटा हानि के लिए जिम्मेदार नहीं है
आप अन्य तालिकाओं के लिए डेटा हानि के परिणामस्वरूप क्या कर सकते हैं, लेकिन कुछ ऐसा है जो आप InnoDB के सामान्य क्रैश रिकवरी चक्र को रोकने के लिए कर सकते हैं।
एक स्टार्टअप विकल्प है, जिसे innodb_force_recovery कहा जाता है , जो आपको InnoDB क्रैश रिकवरी के विभिन्न चरणों को बायपास करने की अनुमति देता है।
के अनुसार InnoDB रिकवरी जबरदस्ती पर MySQL प्रलेखन , यहाँ सेटिंग्स और इसके प्रभाव हैं:
1 (SRV_FORCE_IGNORE_CORRUPT)
यदि कोई भ्रष्ट पृष्ठ का पता लगाता है तो भी सर्वर को चलने दें। भ्रष्ट सूचकांक रिकॉर्ड्स और पेजों पर tbl_name जम्प करने के लिए सेलेक्ट * बनाने की कोशिश करें, जो डंपिंग टेबल में मदद करता है।
2 (SRV_FORCE_NO_BACKGROUND)
मास्टर थ्रेड को चलने से रोकें। यदि पर्ज ऑपरेशन के दौरान कोई दुर्घटना होती है, तो यह पुनर्प्राप्ति मान रोकता है।
3 (SRV_FORCE_NO_TRX_UNDO)
क्रैश रिकवरी के बाद ट्रांजैक्शन रोलबैक न चलाएं।
4 (SRV_FORCE_NO_IBUF_MERGE)
सम्मिलित करें बफ़र मर्ज कार्रवाई रोकें। यदि वे दुर्घटना का कारण बनते हैं, तो उन्हें न करें। तालिका के आँकड़ों की गणना न करें।
5 (SRV_FORCE_NO_UNDO_LOG_SCAN)
डेटाबेस शुरू करते समय पूर्व लॉग पर मत देखो: InnoDB प्रतिबद्ध अधूरे लेनदेन को भी मानता है।
6 (SRV_FORCE_NO_LOG_REDO)
पुनर्प्राप्ति के संबंध में रीडो लॉग रोल-फ़ॉरवर्ड न करें।
यूएनडीओ और REDO लॉग्स में दफन बदलाव के साथ, आप के जोखिम को चलाते हैं
- डेटा खोने का मतलब लिखना होगा
- डेटा रखने का मतलब है हटाना
यदि आप खराब साइड इफेक्ट की उम्मीद करते हैं, तो संपूर्ण / var / lib / mysql का बैकअप लें और यदि आप ibdata1, ib_logfile0, और ib_logfile1 की प्रतिलिपि बनाना चाहते हैं और सामान्य रिकवरी करना चाहते हैं, तो इसे कहीं रख दें।
यदि mysql पूरी तरह से एक मोड में है
- आपत्तिजनक तालिका को छोड़कर सभी डेटा mysqldump
- शटडाउन mysql
- / var / lib / mysql को छोड़कर / var / lib / mysql / mysql में सब कुछ हटा दें
- mysql शुरू करें
- mysqldump पुनः लोड करें
गुफा: सुनिश्चित करें कि आप सब कुछ बैकअप !!!
आशा है कि ये आपकी मदद करेगा !!!