बैकअप MySQL सर्वर


13

MySQL सर्वर का बैकअप लेने का सबसे अच्छा तरीका क्या है? मुझे ऐसा तरीका चाहिए जो सर्वर को लाने की आवश्यकता न हो। क्या कुछ ऐसा है जैसे InnoDB हॉट बैकअप आवश्यक है, या क्या मैं सिर्फ MySQL एडमिनिस्ट्रेटर टूल में दिए गए बैकअप टूल का उपयोग कर सकता हूं। एक के बाद दूसरे के क्या फायदे हैं?

जवाबों:


12

हम mysqldump का उपयोग करते हैं, जो MySQL के चलने के दौरान काम करता है। हमने mysqldump का उपयोग करना शुरू कर दिया क्योंकि यह स्थापित करना सबसे आसान था जब हमारी ज़रूरतें छोटी थीं, और यह उन जरूरतों को पूरा करता था। हमारे डेटाबेस तब से बड़े हो गए हैं, लेकिन हमने अभी तक mysqldump को आगे नहीं बढ़ाया है। चाहे वह आपके डेटाबेस के आकार, उनके सामान्य परिचालन भार और शायद अन्य चीजों का एक गुच्छा पर निर्भर करेगा।


mysqldump महान है। कुछ अन्य RDMS के बाइनरी डंप के विपरीत, डिफ़ॉल्ट रूप से फ़ाइलें mysqldump उत्पन्न करता है, पूर्ण-विकसित sql कमांड के साथ टेक्स्ट फाइलें हैं - पंक्तियों के लिए ज्यादातर TATE स्टेटमेंट और INSERTs बनाते हैं। सरल पाठ फ़ाइलों के रूप में, उन्हें आसानी से हेरफेर, संपीड़ित या एन्क्रिप्ट किया जा सकता है।
nedm

3
जब आपके पास बड़े डेटाबेस हैं, और / या जब आप MyISAM पर भरोसा करते हैं तो mysqldump टूट जाता है। हमारे पास बहुत से अनुक्रमित के साथ कुछ 400G डेटाबेस हैं जिन्हें डंप आयात करते समय पुनर्निर्माण करने की आवश्यकता होती है, ताकि बैकअप से पुनर्प्राप्ति ट्री दिनों में हो सके। जब आप mysqldump से आगे निकल गए हैं तब LVM स्नैपशॉट बहुत बेहतर पुनर्प्राप्ति समय देता है।
निल्स-एंडर्स नॉट्सटर

4

पेरकोना से xtrabackup पर एक नज़र डालें - यह निर्दोष डेटाबेस के लिए mysqlhotcopy के लिए दिलचस्प खुला स्रोत विकल्प है।

आप इसके बारे में अधिक यहाँ पढ़ सकते हैं


3

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

आप कमांड के साथ तालिकाओं को लॉक कर सकते हैं:

FLUSH TABLES WITH READ LOCK;

और जब आप समाप्त कर लें, तो आप लॉक को जारी कर सकते हैं:

UNLOCK TABLES;

7
mysqldump --single-transaction एक निरंतर स्नैपशॉट सुनिश्चित करेगा
डेव चेनी

5
- एकल-लेन-देन केवल तभी काम करता है जब आपकी सभी तालिकाएँ InnoDB हैं। MyISAM तालिका लेनदेन का समर्थन नहीं करती हैं।
निल्स-एंडर्स नॉट्सटर


2

सेटअप MySQL प्रतिकृति । एक बोनस के रूप में आपको अपने मुख्य उत्पादन db को प्रभावित किए बिना भारी रिपोर्टिंग नौकरियों और mysqldump चलाने के लिए एक सर्वर मिलता है।


याद रखें कि प्रतिकृति में देरी हो सकती है और इसलिए जरूरी नहीं कि आपके स्वामी का समय-समय पर बैकअप हो।

2
प्रतिकृति बैकअप नहीं है। यदि आप आकस्मिक रूप से मास्टर में कुछ हटाते हैं, तो दास उसे भी हटा देता है। गुलाम हालांकि पर mysqldump का उपयोग करने के लिए अच्छा है, क्योंकि यह आपके उत्पादन सर्वर को प्रभावित नहीं करेगा (जैसा कि डेव ने उल्लेख किया है)।
मार्टिज़न हेमेल्स


0

वहाँ भी एक उपकरण है, जिसे mysqlhotcopy कहा जाता है, जिसे मैंने एक बार देखा था, और यह सोचा था कि यह बहुत वादा किया था - हालांकि इसका इस्तेमाल कभी नहीं किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.