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

MySQL, MariaDB और Galera क्लस्टर के लिए बैकअप सर्वोत्तम अभ्यास

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

वेबिनार रीप्ले देखें

चाहे आप एक SysAdmin, DBA या DevOps पेशेवर ऑपरेटिंग MySQL, MariaDB या Galera क्लस्टर का उत्पादन कर रहे हों, आपको यह सुनिश्चित करना चाहिए कि आपके बैकअप शेड्यूल किए गए, निष्पादित और नियमित रूप से परीक्षण किए गए हैं। Krzysztof ने कल अपनी कुछ प्रमुख सर्वोत्तम अभ्यास युक्तियाँ और तरकीबें साझा कीं कि कैसे करना है; जिसमें ClusterControl के साथ लाइव डेमो भी शामिल है। संक्षेप में, यह वेबिनार रीप्ले आपको विभिन्न बैकअप विकल्पों के फायदे और नुकसान दिखाता है और आपके वातावरण के लिए सबसे अच्छा विकल्प चुनने में आपकी मदद करता है।

हैप्पी बैकअपिंग!

प्रश्न और उत्तर

प्र। क्या हम mysqldump और mysqldumper के साथ बैकअप लेते समय I/O को नियंत्रित कर सकते हैं (मैंने पहले अच्छा इस्तेमाल किया है, लेकिन यह मददगार नहीं था)।

ए। सैद्धांतिक रूप से यह संभव हो सकता है, हालांकि हमने वास्तव में इसका परीक्षण नहीं किया है। यदि आप वास्तव में कुछ थ्रॉटलिंग लागू करना चाहते हैं तो आप cgroups पर गौर करना चाह सकते हैं - इससे आपको प्रति-प्रक्रिया के आधार पर I/O गतिविधि को कम करने में मदद मिलेगी।

प्र. क्या हम mydumper को ClusterControl के साथ ले सकते हैं और क्या ClusterControl मुफ्त सॉफ्टवेयर है?

उ. हम वर्तमान में इसका समर्थन नहीं करते हैं, लेकिन आप इसे हमेशा मैन्युअल रूप से उपयोग कर सकते हैं; ClusterControl आपको इस उपकरण का उपयोग करने से नहीं रोकता है। ClusterControl का एक मुफ़्त सामुदायिक संस्करण है, हाँ, हालाँकि इसकी बैकअप सुविधाएँ व्यावसायिक संस्करण का हिस्सा हैं। मुफ्त सामुदायिक संस्करण के साथ आप अपने डेटाबेस (क्लस्टर) को तैनात और मॉनिटर कर सकते हैं और साथ ही अपने स्वयं के कस्टम डेटाबेस सलाहकार विकसित कर सकते हैं। आपके पास एक महीने की परीक्षण अवधि भी है जो आपको ClusterControl की सभी सुविधाओं तक पहुंच प्रदान करती है। आप सभी फीचर विवरण यहां पा सकते हैं:https://severalnines.com/pricing

Q. क्या एक्स्ट्राबैकअप डेटा-एट-रेस्ट एन्क्रिप्शन के साथ काम कर सकता है?

A. यह MySQL या Percona सर्वर में एन्क्रिप्टेड डेटा के साथ काम कर सकता है - ऐसा इसलिए है क्योंकि वे केवल टेबलस्पेस को एन्क्रिप्ट करते हैं, जिसे xtrabackup सिर्फ कॉपी करता है - इसमें टेबलस्पेस की सामग्री तक पहुंचने की आवश्यकता नहीं होती है। MariaDB न केवल टेबलस्पेस को एन्क्रिप्ट करता है, बल्कि उदाहरण के लिए, InnoDB रीडो लॉग को भी एन्क्रिप्ट करता है, जिसे xtrabackup द्वारा एक्सेस किया जाना है - इसलिए xtrabackup डेटा-एट-रेस्ट एन्क्रिप्शन के साथ काम नहीं कर सकता जैसा कि मारियाडीबी में लागू किया गया है। इस वजह से मारियाडीबी कॉर्पोरेशन ने मारियाडीबी बैकअप में एक्स्ट्राबैकअप को फोर्क किया। यह उपकरण मारियाडीबी द्वारा किए गए एन्क्रिप्शन का समर्थन करता है।

प्र. क्या आप पॉइंट-इन-टाइम रिकवरी के लिए mydumper का उपयोग कर सकते हैं?

उ. हां, यह संभव है। mydumper GTID डेटा संग्रहीत कर सकता है ताकि आप अंतिम लागू किए गए लेनदेन की पहचान कर सकें और बाइनरी लॉग को संसाधित करने के लिए इसे प्रारंभिक स्थिति के रूप में उपयोग कर सकें।

प्र। क्या यह एक समस्या है यदि हम स्टार्ट-पोजीशन और एंड-पोजिशन के बजाय स्टार्ट-डेटटाइम और एंड-डेटाइम के साथ एक्सट्रैबैकअप के साथ बाइनरी लॉग का उपयोग करते हैं? हम शुक्रवार को एक पूर्ण बैकअप और हर दूसरे दिन एक वृद्धिशील बैकअप बनाते हैं। जब हमें पुनर्प्राप्त करने की आवश्यकता होती है तो हम अंतिम पूर्ण और सभी वृद्धिशील बैकअप लेते हैं और इस दिन से 00:00 से अब तक बाइनरी लॉग लेते हैं ... क्या आवेदन-लॉग में कोई समस्या हो सकती है?

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

प्र. क्या मुझे डंप सॉफ़्टवेयर को लोड बैलेंसर या किसी एक MySQL नोड पर चलाना चाहिए?

A. आमतौर पर आप इसका उपयोग MySQL नोड्स पर करेंगे। कुछ उपकरण ऐसा ही कर सकते हैं। उदाहरण के लिए, Xtrabackup - आपको इसे स्थानीय रूप से, डेटाबेस होस्ट पर चलाना होगा। आप आउटपुट को किसी अन्य स्थान पर स्ट्रीम कर सकते हैं, लेकिन इसे स्थानीय रूप से प्रारंभ करना होगा।

प्र. क्या हम क्लस्टरकंट्रोल के साथ आंशिक बैकअप ले सकते हैं? और यदि हाँ, तो हम चल रहे इंस्टेंस पर बैकअप कैसे पुनर्स्थापित कर सकते हैं?

उ. हाँ, आप ClusterControl का उपयोग करके आंशिक बैकअप ले सकते हैं (आप xtrabackup का उपयोग करके अलग स्कीमा का बैकअप ले सकते हैं) लेकिन, अभी तक, आप चल रहे इंस्टेंस पर आंशिक बैकअप को पुनर्स्थापित नहीं कर सकते। यह इस तथ्य के कारण है कि आपके द्वारा पुनर्प्राप्त किया गया स्कीमा शेष क्लस्टर के अनुरूप नहीं होगा। इसे सुसंगत बनाने के लिए, क्लस्टर को उस नोड से बूटस्ट्रैप किया जाना चाहिए जिस पर आप बैकअप पुनर्स्थापित करते हैं। तो, तकनीकी रूप से, नोड हर समय चलता है लेकिन यह काफी भारी और आक्रामक ऑपरेशन है। यह ClusterControl के अगले संस्करण में बदल जाएगा जिसमें आप एक अलग होस्ट पर बैकअप को पुनर्स्थापित करने में सक्षम होंगे। उस होस्ट से आप mysqldump (या mydumper) का उपयोग करके पुनर्स्थापित स्कीमा की सामग्री को डंप कर सकते हैं और इसे उत्पादन क्लस्टर पर पुनर्स्थापित कर सकते हैं।

प्र. क्या आप कृपया mysqldumper कमांड साझा कर सकते हैं?

उ. दस्तावेज़ीकरण से कॉपी और पेस्ट किए बिना इस प्रश्न का उत्तर देना कठिन है, इसलिए हमें लगता है कि यह सबसे अच्छा होगा यदि हम आपको दस्तावेज़ीकरण की ओर इंगित करें:https://github.com/maxbube/mydumper/tree/ मास्टर/दस्तावेज़

वेबिनार रीप्ले देखें

संबंधित श्वेतपत्र MySQL और MariaDB के लिए डेटाबेस बैकअप के लिए DevOps गाइडयह श्वेतपत्र MySQL और MariaDB के लिए उपलब्ध दो सबसे लोकप्रिय बैकअप उपयोगिताओं पर चर्चा करता है, अर्थात् mysqldump और Percona XtraBackup।डाउनलोड

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में मिसिंग डेट्स कैसे भरें?

  2. पीएचपी पीडीओ और MySQLi

  3. एक MySQL डेटाबेस में डेटा आयात करें

  4. बेस्ट मैच द्वारा MySQL ऑर्डर

  5. PHP + MySQL लेनदेन उदाहरण