समस्या की पहचान
एक टेबल "क्रैश" मानी जाती है जब उसका स्टोरेज इंजन NULL या खाली दिखाता है। यह आमतौर पर MyISAM टेबल के साथ होता है जो अनुचित शटडाउन या डिस्क त्रुटियों के कारण क्षतिग्रस्त हो जाती हैं।
जांच कमांड
सिंटैक्स
SHOW TABLE STATUS FROM yourDatabaseName;
व्यावहारिक उदाहरण
डेटाबेस 'test3' की सभी टेबल की स्थिति देखना
mysql> SHOW TABLE STATUS FROM test3;
परिणाम विश्लेषण
आउटपुट में प्रत्येक टेबल के लिए Engine कॉलम देखें:
- InnoDB, MyISAM, MEMORY आदि - सामान्य
- NULL या खाली - **क्रैश/क्षतिग्रस्त टेबल**
नमूना आउटपुट (सभी सामान्य)
| Name | Engine | Rows | Comment |
|---|---|---|---|
| bestdateformatdemo | InnoDB | 4 | सामान्य |
| countdemo | InnoDB | 4 | सामान्य |
| deletedemo | InnoDB | 6 | सामान्य |
| ... | ... | ... | ... |
क्रैश टेबल की मरम्मत
MyISAM टेबल के लिए
REPAIR TABLE yourTableName;
InnoDB टेबल के लिए
InnoDB क्रैश रिकवरी स्वचालित रूप से स्टार्टअप पर होती है। मैन्युअल मरम्मत की आवश्यकता नहीं होती।
रोकथाम के उपाय
- InnoDB स्टोरेज इंजन का उपयोग करें (डिफ़ॉल्ट, क्रैश-सुरक्षित)
- नियमित बैकअप लें
- उचित शटडाउन प्रक्रिया का पालन करें
- डिस्क स्वास्थ्य की निगरानी करें
CHECK TABLE कमांड
CHECK TABLE yourTableName;
यह टेबल की अखंडता की जांच करता है और स्थिति रिपोर्ट करता है: OK, Corrupted, आदि।