Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में क्रैश हुई टेबल की जांच कैसे करें

समस्या की पहचान

एक टेबल "क्रैश" मानी जाती है जब उसका स्टोरेज इंजन NULL या खाली दिखाता है। यह आमतौर पर MyISAM टेबल के साथ होता है जो अनुचित शटडाउन या डिस्क त्रुटियों के कारण क्षतिग्रस्त हो जाती हैं।

जांच कमांड

सिंटैक्स

SHOW TABLE STATUS FROM yourDatabaseName;

व्यावहारिक उदाहरण

डेटाबेस 'test3' की सभी टेबल की स्थिति देखना

mysql> SHOW TABLE STATUS FROM test3;

परिणाम विश्लेषण

आउटपुट में प्रत्येक टेबल के लिए Engine कॉलम देखें:

  • InnoDB, MyISAM, MEMORY आदि - सामान्य
  • NULL या खाली - **क्रैश/क्षतिग्रस्त टेबल**

नमूना आउटपुट (सभी सामान्य)

NameEngineRowsComment
bestdateformatdemoInnoDB4सामान्य
countdemoInnoDB4सामान्य
deletedemoInnoDB6सामान्य
............

क्रैश टेबल की मरम्मत

MyISAM टेबल के लिए

REPAIR TABLE yourTableName;

InnoDB टेबल के लिए

InnoDB क्रैश रिकवरी स्वचालित रूप से स्टार्टअप पर होती है। मैन्युअल मरम्मत की आवश्यकता नहीं होती।

रोकथाम के उपाय

  • InnoDB स्टोरेज इंजन का उपयोग करें (डिफ़ॉल्ट, क्रैश-सुरक्षित)
  • नियमित बैकअप लें
  • उचित शटडाउन प्रक्रिया का पालन करें
  • डिस्क स्वास्थ्य की निगरानी करें

CHECK TABLE कमांड

CHECK TABLE yourTableName;

यह टेबल की अखंडता की जांच करता है और स्थिति रिपोर्ट करता है: OK, Corrupted, आदि।

  1. - MySQL स्टोर्ड प्रोसीजर में NULL या खाली वेरिएबल की जांच करें

    NULL या खाली वेरिएबल की जांच के लिए IF कंडीशन का उपयोग करें। आइए एक स्टोर्ड प्रोसीजर बनाते हैं: mysql> delimiter // mysql> create procedure checkingForNullDemo(Name varchar(20)) begin if Name is NULL OR Name= then select Adam Smith; else select Name; end if ; end /

  1. - MySQL में IFNULL का उपयोग करके NULL मानों को 1 के रूप में प्रदर्शित/अपडेट करें

    MySQL में NULL मानों को संभालना: IFNULL() और COALESCE() MySQL में IFNULL() फ़ंक्शन का उपयोग करके आप NULL मानों को डिफ़ॉल्ट मान से बदल सकते हैं। यह लेख दिखाता है कि कैसे NULL मानों को 1 से अपडेट करें और उन्हें प्रदर्शित करें। टेबल बनाना ); Query OK, 0 rows affected (0.00 sec) NULL मानों सहित डेटा

  1. - MySQL में IS NULL से टेबल की एकल पंक्ति में किसी NULL मान की जांच कैसे करें?

    IS NULL ऑपरेटर WHERE col1 IS NULL OR col2 IS NULL किसी भी कॉलम NULL होने पर पंक्ति चुनता है। उदाहरण insert into demo86 values(null,null), (null,John), (David,Mike), (Sam,null); क्वेरी और परिणाम select * from demo86 where value1 is null or value2 is null; +--------+--------+ | value1 | value2 |