MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

MySQL डेटाबेस समस्याओं का निवारण कैसे करें

जैसे ही आप एक डेटाबेस सर्वर चलाना शुरू करते हैं और आपका उपयोग बढ़ता है, आप कई प्रकार की तकनीकी समस्याओं, प्रदर्शन में गिरावट और डेटाबेस की खराबी के संपर्क में आते हैं। इनमें से प्रत्येक बहुत बड़ी समस्याओं को जन्म दे सकता है, जैसे कि विपत्तिपूर्ण विफलता या डेटा हानि। यह एक चेन रिएक्शन की तरह है, जहां एक चीज दूसरे को जन्म दे सकती है, जिससे अधिक से अधिक समस्याएं हो सकती हैं। आपके लिए यथासंभव लंबे समय तक एक स्थिर वातावरण रखने के लिए सक्रिय प्रतिवाद किया जाना चाहिए।

इस ब्लॉग पोस्ट में, हम ClusterControl द्वारा पेश की जाने वाली शानदार सुविधाओं के एक समूह को देखने जा रहे हैं जो हमारे MySQL डेटाबेस समस्याओं के होने पर उन्हें समस्या निवारण और उन्हें ठीक करने में हमारी बहुत मदद कर सकते हैं।

डेटाबेस अलार्म और सूचनाएं

सभी अवांछित घटनाओं के लिए, ClusterControl अलार्म के तहत सब कुछ लॉग करेगा, जो ClusterControl पृष्ठ की गतिविधि (शीर्ष मेनू) पर पहुँचा जा सकता है। कुछ गलत होने पर समस्या निवारण शुरू करने के लिए यह आमतौर पर पहला कदम है। इस पेज से, हम अंदाजा लगा सकते हैं कि हमारे डेटाबेस क्लस्टर के साथ वास्तव में क्या हो रहा है:

उपरोक्त स्क्रीनशॉट सर्वर तक पहुंचने योग्य घटना का एक उदाहरण दिखाता है, गंभीर गंभीरता के साथ , दो घटकों, नेटवर्क और Node. यदि आपने ईमेल सूचना सेटिंग को कॉन्फ़िगर किया है, तो आपको अपने मेलबॉक्स में इन अलार्म की एक प्रति प्राप्त करनी चाहिए।

"पूर्ण अलार्म विवरण" पर क्लिक करते समय, आप अलार्म के महत्वपूर्ण विवरण जैसे होस्टनाम, टाइमस्टैम्प, क्लस्टर नाम आदि प्राप्त कर सकते हैं। यह अगला अनुशंसित कदम भी प्रदान करता है। आप इस अलार्म को ईमेल अधिसूचना सेटिंग्स के तहत कॉन्फ़िगर किए गए अन्य प्राप्तकर्ताओं को ईमेल के रूप में भी भेज सकते हैं।

आप "अलार्म पर ध्यान न दें" बटन पर क्लिक करके अलार्म को चुप कराने का विकल्प भी चुन सकते हैं और यह फिर से सूची में दिखाई नहीं देगा। किसी अलार्म को नज़रअंदाज़ करना तब उपयोगी हो सकता है जब आपके पास कम गंभीरता वाला अलार्म हो और आप जानते हों कि उसे कैसे संभालना है या उसके आसपास काम करना है। उदाहरण के लिए यदि ClusterControl आपके डेटाबेस में एक डुप्लीकेट इंडेक्स का पता लगाता है, जहां कुछ मामलों में आपके लीगेसी एप्लिकेशन को इसकी आवश्यकता होगी।

इस पृष्ठ को देखकर, हम तत्काल समझ प्राप्त कर सकते हैं कि हमारे डेटाबेस क्लस्टर के साथ क्या हो रहा है और समस्या को हल करने के लिए अगला कदम क्या है। जैसा कि इस मामले में, डेटाबेस नोड्स में से एक नीचे चला गया और SSH के माध्यम से ClusterControl होस्ट से पहुंच योग्य नहीं हो गया। यहां तक ​​कि एक नौसिखिया SysAdmin भी अब जान जाएगा कि अगर यह अलार्म दिखाई देता है तो आगे क्या करना है।

केंद्रीकृत डेटाबेस लॉग फ़ाइलें

यह वह जगह है जहां हम यह पता लगा सकते हैं कि हमारे डेटाबेस सर्वर में क्या गलत था। ClusterControl -> Logs -> System Logs के अंतर्गत, आप डेटाबेस क्लस्टर से संबंधित सभी लॉग फ़ाइलें देख सकते हैं। जहां तक ​​MySQL-आधारित डेटाबेस क्लस्टर की बात है, ClusterControl ProxySQL लॉग, MySQL एरर लॉग और बैकअप लॉग को खींचता है:

उन सभी होस्टों से नवीनतम लॉग पुनर्प्राप्त करने के लिए "रिफ्रेश लॉग" पर क्लिक करें जो उस विशेष समय पर पहुंच योग्य हैं। यदि कोई नोड पहुंच योग्य नहीं है, तो ClusterControl अभी भी पुराने लॉग इन को देखेगा क्योंकि यह जानकारी CMON डेटाबेस के अंदर संग्रहीत है। डिफ़ॉल्ट रूप से ClusterControl हर 10 मिनट में सिस्टम लॉग को पुनर्प्राप्त करता रहता है, सेटिंग्स के तहत कॉन्फ़िगर करने योग्य -> ​​लॉग अंतराल।

ClusterControl प्रत्येक सर्वर से नवीनतम लॉग को खींचने के लिए कार्य को ट्रिगर करेगा, जैसा कि निम्नलिखित "कलेक्ट लॉग्स" जॉब में दिखाया गया है:

लॉग फ़ाइल का एक केंद्रीकृत दृश्य हमें यह समझने की अनुमति देता है कि क्या हुआ गलत। एक डेटाबेस क्लस्टर के लिए जिसमें आमतौर पर कई नोड्स और टियर शामिल होते हैं, यह सुविधा लॉग रीडिंग में बहुत सुधार करेगी जहां एक SysAdmin इन लॉग की साथ-साथ तुलना कर सकता है और महत्वपूर्ण घटनाओं को इंगित कर सकता है, जिससे कुल समस्या निवारण समय कम हो जाता है।

वेब SSH कंसोल

ClusterControl एक वेब-आधारित SSH कंसोल प्रदान करता है ताकि आप ClusterControl UI के माध्यम से सीधे DB सर्वर तक पहुँच सकें (क्योंकि SSH उपयोगकर्ता डेटाबेस होस्ट से कनेक्ट करने के लिए कॉन्फ़िगर किया गया है)। यहां से, हम और अधिक जानकारी एकत्र कर सकते हैं जो हमें समस्या को और भी तेजी से ठीक करने की अनुमति देती है। हर कोई जानता है कि जब कोई डेटाबेस समस्या उत्पादन प्रणाली से टकराती है, तो डाउनटाइम का हर सेकंड मायने रखता है।

वेब के माध्यम से SSH कंसोल तक पहुंचने के लिए, बस नोड्स -> नोड क्रियाएँ -> SSH कंसोल के अंतर्गत नोड्स चुनें, या शॉर्टकट के लिए केवल गियर आइकन पर क्लिक करें:

इस सुविधा के साथ सुरक्षा संबंधी चिंता के कारण, विशेष रूप से बहु के लिए -उपयोगकर्ता या बहु-किरायेदार वातावरण, कोई इसे ClusterControl सर्वर पर /var/www/html/clustercontrol/bootstrap.php पर जाकर अक्षम कर सकता है और निम्नलिखित स्थिरांक को गलत पर सेट कर सकता है:

define('SSH_ENABLED', false);

नए परिवर्तनों को लोड करने के लिए ClusterControl UI पृष्ठ को रीफ़्रेश करें।

डेटाबेस प्रदर्शन समस्याएं

निगरानी और रुझान वाली सुविधाओं के अलावा, ClusterControl लगातार आपको डेटाबेस के प्रदर्शन से संबंधित विभिन्न अलार्म और सलाहकार भेजता है, उदाहरण के लिए:

  • अत्यधिक उपयोग - संसाधन जो सीपीयू, मेमोरी, स्वैप उपयोग और डिस्क स्थान जैसी कुछ सीमाओं को पार करता है।
  • क्लस्टर गिरावट - क्लस्टर और नेटवर्क विभाजन।
  • सिस्टम टाइम ड्रिफ्ट - क्लस्टर में सभी नोड्स के बीच समय का अंतर (क्लस्टरकंट्रोल नोड सहित)।
  • कई अन्य MySQL संबंधित सलाहकार:
    • प्रतिकृति - प्रतिकृति अंतराल, बिनलॉग समाप्ति, स्थान और वृद्धि
    • गैलेरा - एसएसटी विधि, स्कैन जीआरए लॉगफाइल, क्लस्टर एड्रेस चेकर
    • स्कीमा जांच - गैलेरा क्लस्टर पर गैर-लेनदेन तालिका अस्तित्व।
    • कनेक्शन - थ्रेड कनेक्टेड अनुपात
    • InnoDB - डर्टी पेज अनुपात, InnoDB लॉग फ़ाइल ग्रोथ
    • धीमी क्वेरी - डिफ़ॉल्ट रूप से ClusterControl एक अलार्म उठाएगा यदि उसे कोई क्वेरी 30 सेकंड से अधिक समय तक चलती हुई मिलती है। यह निश्चित रूप से सेटिंग्स -> रनटाइम कॉन्फ़िगरेशन -> लंबी क्वेरी के तहत कॉन्फ़िगर करने योग्य है।
    • डेडलॉक - InnoDB लेनदेन गतिरोध और गैलेरा गतिरोध।
    • सूचकांक - डुप्लीकेट कुंजियाँ, प्राथमिक कुंजियों के बिना तालिका।

प्रदर्शन -> सलाहकारों के अंतर्गत सलाहकार पृष्ठ देखें ताकि उन चीज़ों का विवरण प्राप्त किया जा सके जिन्हें ClusterControl द्वारा सुझाए गए अनुसार सुधारा जा सकता है। प्रत्येक सलाहकार के लिए, यह "डिस्क स्थान उपयोग की जांच" सलाहकार के लिए निम्नलिखित उदाहरण में दिखाए गए औचित्य और सलाह प्रदान करता है:

जब कोई प्रदर्शन समस्या होती है तो आपको "चेतावनी" (पीला) या इन सलाहकारों पर "गंभीर" (लाल) स्थिति। समस्या को दूर करने के लिए आमतौर पर आगे ट्यूनिंग की आवश्यकता होती है। सलाहकार अलार्म उठाते हैं, जिसका अर्थ है कि यदि ईमेल सूचनाएं तदनुसार कॉन्फ़िगर की जाती हैं, तो उपयोगकर्ताओं को मेलबॉक्स के अंदर इन अलार्मों की एक प्रति प्राप्त होगी। क्लस्टरकंट्रोल या उसके सलाहकारों द्वारा उठाए गए प्रत्येक अलार्म के लिए, यदि अलार्म को हटा दिया गया है, तो उपयोगकर्ताओं को एक ईमेल भी प्राप्त होगा। ये ClusterControl के भीतर पूर्व-कॉन्फ़िगर किए गए हैं और इन्हें किसी प्रारंभिक कॉन्फ़िगरेशन की आवश्यकता नहीं है। प्रबंधन -> डेवलपर स्टूडियो के तहत आगे अनुकूलन हमेशा संभव है। आप इस ब्लॉग पोस्ट को देख सकते हैं कि अपना सलाहकार कैसे लिखें।

ClusterControl,ClusterControl->प्रदर्शन के अंतर्गत डेटाबेस प्रदर्शन के संबंध में एक समर्पित पृष्ठ भी प्रदान करता है। यह DB स्थिति, चर, InnoDB स्थिति, स्कीमा विश्लेषक, लेन-देन लॉग के केंद्रीकृत दृश्य जैसी सर्वोत्तम प्रथाओं के बाद सभी प्रकार की डेटाबेस अंतर्दृष्टि प्रदान करता है। ये बहुत ही आत्म-व्याख्यात्मक और समझने में आसान हैं।

क्वेरी प्रदर्शन के लिए, आप शीर्ष क्वेरी और क्वेरी आउटलेर्स का निरीक्षण कर सकते हैं, जहां ClusterControl उन क्वेरी को हाइलाइट करता है जो उनकी औसत क्वेरी से काफी भिन्न होती हैं। हमने इस ब्लॉग पोस्ट में विस्तार से इस विषय को कवर किया है, MySQL क्वेरी प्रदर्शन ट्यूनिंग।

डेटाबेस त्रुटि रिपोर्ट

ClusterControl एक त्रुटि रिपोर्ट जेनरेटर टूल के साथ आता है, जो वर्तमान स्थिति और स्थिति को समझने में मदद करने के लिए आपके डेटाबेस क्लस्टर के बारे में डिबगिंग जानकारी एकत्र करता है। त्रुटि रिपोर्ट जेनरेट करने के लिए, बस ClusterControl -> लॉग्स -> त्रुटि रिपोर्ट -> त्रुटि रिपोर्ट बनाएं:

पर जाएं।

उत्पन्न त्रुटि रिपोर्ट तैयार होने के बाद इस पृष्ठ से डाउनलोड की जा सकती है। यह जेनरेट की गई रिपोर्ट TAR बॉल फॉर्मेट (tar.gz) में होगी और आप इसे समर्थन अनुरोध के साथ संलग्न कर सकते हैं। चूंकि समर्थन टिकट में फ़ाइल आकार की 10 एमबी की सीमा है, यदि टारबॉल का आकार उससे बड़ा है, तो आप इसे क्लाउड ड्राइव में अपलोड कर सकते हैं और उचित अनुमति के साथ ही डाउनलोड लिंक हमारे साथ साझा कर सकते हैं। फ़ाइल मिल जाने के बाद आप इसे बाद में हटा सकते हैं। आप त्रुटि रिपोर्ट दस्तावेज़ीकरण पृष्ठ में बताए अनुसार कमांड लाइन के माध्यम से त्रुटि रिपोर्ट भी उत्पन्न कर सकते हैं।

एक आउटेज की स्थिति में, हम अत्यधिक अनुशंसा करते हैं कि आप आउटेज के दौरान और ठीक बाद में कई त्रुटि रिपोर्ट जेनरेट करें। वे रिपोर्टें यह समझने की कोशिश करने के लिए बहुत उपयोगी होंगी कि क्या गलत हुआ, आउटेज के परिणाम, और यह सत्यापित करने के लिए कि क्लस्टर वास्तव में एक विनाशकारी घटना के बाद परिचालन स्थिति में वापस आ गया है।

निष्कर्ष

ClusterControl सक्रिय निगरानी, ​​समस्या निवारण सुविधाओं के एक सेट के साथ, उपयोगकर्ताओं को किसी भी प्रकार की MySQL डेटाबेस समस्याओं का निवारण करने के लिए एक कुशल मंच प्रदान करती है। लंबे समय से चली आ रही समस्या निवारण का विरासती तरीका है जहाँ किसी को कई मेजबानों तक पहुँचने के लिए कई SSH सत्र खोलने पड़ते हैं और मूल कारण को इंगित करने के लिए कई आदेशों को बार-बार निष्पादित करना पड़ता है।

यदि उपर्युक्त सुविधाएँ समस्या को हल करने या डेटाबेस समस्या का निवारण करने में आपकी मदद नहीं कर रही हैं, तो आप हमेशा अपना बैकअप लेने के लिए कईनींस सपोर्ट टीम से संपर्क करें। हमारे 24/7/365 समर्पित तकनीकी विशेषज्ञ किसी भी समय आपके अनुरोध पर उपस्थित होने के लिए उपलब्ध हैं। हमारा औसत प्रथम उत्तर समय आमतौर पर 30 मिनट से कम होता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी सर्वर के नवीनतम संस्करण के साथ नवीनतम जीरा में अपग्रेड करना

  2. डेटाबेस उपयोगकर्ता प्रबंधन:मारियाडीबी के लिए प्रबंधन भूमिकाएं

  3. मारियाडीबी में डेटाटाइम वैल्यू से मिनट कैसे घटाएं?

  4. मारियाडीबी में PERIOD_ADD () कैसे काम करता है

  5. मारियाडीबी में सभी लोकेशंस कैसे दिखाएं