लेख निर्देशिका
MySQL टेबल त्रुटि को क्रैश के रूप में चिह्नित किया गया है और अंतिम (स्वचालित?) - समाधान ।
तालिका की मरम्मत करते समय यह लेख आपको हमारे सुझावों से परिचित कराएगाError: Table \'./db_name/table_name\' is marked as crashed and last (automatic?) repair failedसमाधान।
MySQL टेबल में कोई समस्या है, जैसा कि निम्नलिखित संदेश से संकेत मिलता है: ▼
Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed
mysql_upgrad टेबल की जाँच और मरम्मत और सिस्टम टेबल को अपग्रेड करने के लिए निम्न कमांड निष्पादित करता है
mysqlcheck --all-databases --check-upgrade --auto-repair
- ऑपरेशन की विफलता अपरिवर्तनीय है और डेटाबेस को रोक दिया जाना चाहिए:
service monit stop
service mysqld stop
- वह निर्देशिका दर्ज करें जहाँ डेटाबेस स्थित है:
cd /var/lib/mysql/db_name/
नोट: ऑपरेशन की मरम्मत से पहले mysql सेवा को बंद कर दिया जाना चाहिए।
- एकल डेटाशीट की मरम्मत करें:
myisamchk -r tablename.MYI
- सभी डेटाशीट ठीक करें:
myisamchk -r *.MYI
- सुरक्षित मोड:
myisamchk -r -v -o <table_name>
- बल मोड:
myisamchk -r -v -f <table_name>
myisamchk उपयोग
नोट: myisamchk का उपयोग करने से पहले, सुनिश्चित करें कि mysqld जाँच की जाने वाली तालिका तक नहीं पहुँच रहा है।mysqld को बेहतर तरीके से रोकें।
- अमल में लाना
myisamchk –update-state -s *.myi
, और जाँचें कि कौन-सी अनुक्रमणिका फ़ाइलों में समस्याएँ हैं (इसमें लंबा समय लग सकता है)।
- अपडेट-स्टेट विकल्प का उपयोग केवल mysqld को रोकते समय किया जाता है। -s का अर्थ है कुछ सामान्य तालिका सूची जानकारी को अनदेखा करना और केवल त्रुटियों को सूचीबद्ध करना।
- प्रत्येक दूषित तालिका के लिए, प्रयास करें
myisamchk -r -q table_name
यह त्वरित मरम्मत मोड है, जो स्वचालित रूप से जांच करेगा कि क्या सूचकांक तालिका और डेटा तालिका सुसंगत हो सकती है।यदि यह सुसंगत है, तो इसे ठीक किया जा सकता है।
- यदि त्वरित-सुधार मोड विफल हो जाता है, तो विचार करें:
myisamchk -r table_name
असंगत डेटा और इंडेक्स हटा दिए जाते हैं, और इंडेक्स को फिर से बनाया जाता है।
- यदि वह विफल रहता है, तो विचार करें:
myisamchk –safe-recover table_name
ऑपरेशन उदाहरण
ऑपरेशन की विफलता अपरिवर्तनीय है और डेटाबेस को रोक दिया जाना चाहिए:
service monit stop
service mysqld stop
cd /var/lib/mysql/eloha_ufo
cd /var/lib/mysql/eloha_cwl
सभी डेटाशीट ठीक करें:
myisamchk -r *.MYI
myisamchk -r -v -f wp_postmeta.MYI
myisamchk -r -v -f wp_posts.MYI
myisamchk -r -v -f wp_options.MYI
myisamchk -r -v -f wp_itsec_log
यह -r की तुलना में बहुत धीमा है, लेकिन उन स्थितियों को संभालता है जो -r नहीं कर सकते।
myisamchk -r -f -o /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
डेटाबेस तालिका के पूर्ण पथ के लिए आदेश यहां दिया गया है:
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_posts.MYI
MYSQLD डेटाबेस प्रारंभ करें:
service mysqld start
service mysqld restart
MONIT मॉनिटरिंग प्रोग्राम शुरू करें :
service monit restart
service monit start
आशा है कि चेन वेइलियांग के ब्लॉग ( https://www.chenweiliang.com/ ) पर साझा किया गया लेख "MySQL टेबल त्रुटि 'क्रैश के रूप में चिह्नित और अंतिम (स्वचालित?) मरम्मत' का समाधान" आपके लिए उपयोगी होगा।
इस लेख का लिंक साझा करने में संकोच न करें: https://www.chenweiliang.com/cwl-176.html
