mysql.proc दुर्घटनाग्रस्त रहता है, mysqldump नहीं कर सकता है?


9

InnoDB के साथ कुछ समस्याओं के कारण, मैं सभी डेटाबेस को एक नए सर्वर पर डंप करने जा रहा हूं:

mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server          

डंप प्रक्रिया त्रुटि के साथ बंद हो गई:

59.9kB assword: 59.9kB 
ERROR 145 (HY000) at line 2970: Table './mysql/proc' is marked as crashed and should 
    be repaired
 228MB 
mysqldump: Got errno 32 on write

मैंने सभी डेटाबेस में सभी तालिकाओं को सुधारने के लिए निम्न कमांड चलाई है:

mysqlcheck --auto-repair --all-databases

जब मैं mysql.procस्थिति की जांच करता हूं, मुझे मिलता है:

mysql> check table mysql.proc;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| mysql.proc | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set (0.02 sec)

हालाँकि, मुझे अभी भी वही त्रुटि मिलती है जब mysqldumpकमांड को फिर से चलाया जाता है ।

मेरे पास लगभग 2000 स्टोर प्रक्रियाएं हैं। क्या वह त्रुटि का कारण हो सकता है?


2
क्या आपने गंतव्य की मरम्मत भी की है?
फिलो

क्या है 59.9kB assword: 59.9kB? क्या यह वास्तव में त्रुटि संदेश का हिस्सा है?
अधिकतम वर्नोन

@quanta ने किया ...
Philᵀᴹ

@MaxVernon: यह pvगंतव्य होस्ट पर पासवर्ड दर्ज करने से पहले डेटा पाइपिंग का एक टुकड़ा है ।
क्वांटा

जवाबों:


3

यह गलती:

ERROR 145 (HY000) लाइन 2970 पर: तालिका './mysql/proc' को दुर्घटनाग्रस्त के रूप में चिह्नित किया गया है और इसकी मरम्मत 228MB की जानी चाहिए

... पता चलता है कि समस्या पढ़ने में नहीं लिख रही है, इसलिए गंतव्य डेटाबेस पर मरम्मत करें।


8

मुझे बस एक ही समस्या थी, यह एक कमांड जारी करके तय किया गया था, यह मानते हुए कि mysql डेटा dir / var / lib / mysql / mysql पर है

myisamchk -q -r / var / lib / mysql / mysql / proc

स्रोत: http://dev.mysql.com/doc/refman/5.0/en/myisam-repair.html


यद्यपि स्वीकृत उत्तर पहले से ही ऐसा करने के लिए कहता है, आपने वास्तव में दिखाया कि कैसे। +1 !!!
रोलैंडमाइसीडीडीबीए
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.