MySQL सर्वर बैकअप लेने के लिए सर्वोत्तम अभ्यास:
MySQL प्रतिकृति
MySQL में सेटअप प्रतिकृति। आपको मास्टर और स्लेव सर्वर सेटअप करना होगा। DB के लिए सभी रीड-राइट आपके गुलाम सर्वर पर जा सकते हैं। प्रतिकृति होने का लाभ यह है कि आप मास्टर सर्वर को बाधित किए बिना अपने दास सर्वर से बैकअप ले सकते हैं, आपका आवेदन बिना किसी डाउनटाइम के मास्टर पर काम करना जारी रखेगा।
MySQL डंप का उपयोग करना
यदि आपका डेटा सेट छोटा है (मुझे एहसास है कि "छोटा" एक सापेक्ष शब्द है .. इसे योग्य बनाने के लिए, आइए <10GB) कहते हैं, तो mysqldump शायद बहुत अच्छा काम करेगा। यह आसान है, यह ऑनलाइन है और यह बहुत लचीला है। कुछ चीजें जो mysqldump कर सकती हैं: बैकअप सब कुछ या बस कुछ डेटाबेस या टेबल बैकअप केवल DDL तेजी से पुनर्स्थापना के लिए डंप का अनुकूलन करता है परिणामी sql फ़ाइल को अन्य RDBMSes और कई और चीजों के साथ अधिक संगत बनाता है।
हालांकि, सबसे महत्वपूर्ण विकल्प आपके बैकअप की स्थिरता से संबंधित हैं। मेरा पसंदीदा विकल्प हैं: - एकल-लेन-देन: यह विकल्प एक सुसंगत बैकअप देता है, यदि (और केवल यदि) तालिकाओं में InnoDB इंजन इंजन का उपयोग किया जाता है। यदि आपके पास कोई गैर-केवल-पढ़ने योग्य MyISAM तालिकाएँ हैं, तो उन्हें बैकअप लेते समय इस विकल्प का उपयोग न करें। --मास्टर-डेटा = 2: यह विकल्प सुनिश्चित करेगा कि आपका डंप सुसंगत हो (लॉक-ऑल-टेबल तब तक करें जब तक कि आपने विकल्प नहीं जोड़ा है - सिंगल्स-ट्रांजेक्शन)। --मास्टर-डेटा विकल्प परिणामी डंप फ़ाइल में बाइनरी लॉग स्थिति को भी रिकॉर्ड करता है (= 2 इस लाइन को डंप फ़ाइल में टिप्पणी करने का कारण बनता है)
Mysqldump के बारे में अंतिम टिप्पणी: ध्यान रखें कि पुनर्स्थापना समय बैकअप समय की तुलना में काफी लंबा हो सकता है। यह कई कारकों पर निर्भर करेगा, उदाहरण के लिए, आपके पास कितने सूचकांक हैं।
LVM स्नैपशॉट
उन लोगों के लिए जिनके पास बड़े डेटासेट हैं, एक भौतिक बैकअप रास्ता तय करना है। जब आप कोल्ड बैकअप ले सकते हैं (यानी, MySQL सर्विस को बंद करें, डेटा डायरेक्टरी को कॉपी करें, सर्विस को पुनरारंभ करें), तो कई लोग डाउनटाइम नहीं चाहते हैं। मेरा पसंदीदा समाधान स्नैपशॉट है। यह गर्म हो सकता है (InnoDB के लिए) या एक संक्षिप्त लॉक (MyISAM के लिए) की आवश्यकता होती है। अपने सभी डेटा (ib_logfiles शामिल करें) को शामिल करना न भूलें। लेन्ज इस के साथ मदद करने के लिए एक अच्छी उपयोगिता प्रदान करता है: http://www.lenzg.net/mylvmbackup/
MySQL एंटरप्राइज बैकअप का उपयोग करना
MySQL एंटरप्राइज बैकअप का उपयोग करने के लाभ:
- InnoDB तालिकाओं के "हॉट" बैकअप पूरी तरह से ऑनलाइन होते हैं, बिना बैकअप के केवल विशेष तालिकाओं या तालिकाओं को अवरुद्ध करते हैं
- केवल एक बैकअप से पहले बदले गए डेटा का बैकअप लें
- संपीड़ित बैकअप - 90% तक संग्रहण सहेजता है और कई और अधिक ।।
संदर्भ:
http://www.mysql.com/products/enterprise/backup/features.html
http://www.mysql.com/products/enterprise/backup.html
--single-transaction
लेकिन जोड़ना न भूलें--events --routines
और मैं हमेशा इसका उपयोग करता हूं--triggers
, भले ही यह डिफ़ॉल्ट रूप से सक्षम है, क्योंकि यह my.cnf में अक्षम किया जा सकता है। मैं कहूंगा कि यह मानक अभ्यास के रूप में उपयोग करने के लिए हमेशा बहुत अच्छा होता है चाहे आप वर्तमान में आपके डेटाबेस में उन प्रकार की वस्तुएं हों या नहीं।