MySQL: InnoDB तालिकाओं के स्वचालित वृद्धिशील बैकअप - mysql, बैकअप, innodb

मुझे पता है कि एसओ और अन्य जगहों पर इसी तरह के / संबंधित प्रश्न रहे हैं, और मुझे लगता है कि मैं कम से कम विभिन्न विकल्पों को समझता हूं।

हमारे पास एक लार्जिश MySQL (कम्युनिटी एडिशन) db हैInnoDB तालिकाओं के साथ। मैं डीबी के दैनिक शापशॉट्स को ऑफ-साइट बैकअप लेना चाहता हूं। वर्तमान में मैं एक mysqldump स्क्रिप्ट का उपयोग कर रहा हूँ जो cron.daily द्वारा चलाई जाती है। हालाँकि कॉपी लिखने में 3 घंटे का समय लगता है। इसलिए - वृद्धिशील होना चाहिए।

जैसा कि हम सामुदायिक संस्करण हैं और बर्दाश्त नहीं कर सकतेएंटरप्राइज हम डॉन 'टी' में इनोबीडी हॉटकॉपी है जो एक व्यवहार्य समाधान होगा क्योंकि यह गैर-अवरुद्ध है। अन्य विकल्प बाइनरी लॉगिंग चालू कर रहा है और वृद्धिशील अपडेट ले रहा है। लेकिन यह एक भारी दर्द की तरह लगता है और त्रुटि का संकेत देता है: फ्लशिंग और घुमाव। , रिकॉर्डिंग टाइमस्टैम्प आदि। यदि संभव हो तो सलाह इससे बचना चाहिए।

तो अंतिम विकल्प मास्टर-स्लेव कॉन्फ़िगरेशन के साथ प्रतिकृति स्थापित कर रहा है। मैंने डॉक्स को स्कैन किया है, लेकिन यह स्पष्ट नहीं है कि "मास्टर" क्या है और "स्लेव" क्या बनता है।

  • क्या एक गुलाम एक अलग mysqld प्रक्रिया है?
  • क्या गुलाम उसी मशीन पर चल सकता है जैसे मास्टर?
  • एक बार सेट होने और चलने के दौरान किसी भी हस्तक्षेप की आवश्यकता होती है या क्या मास्टर ईमानदारी से सभी अपडेट को आगे बढ़ाएगा?
  • मास्टर को प्रभावित किए बिना अपना बैकअप बनाने के लिए, संभवतः मैं गुलाम पर सिर्फ mysqldump चला सकता हूं?
  • और अंत में, क्या यह ऑफ-साइट कॉपी करने के लिए बैकअप बनाए रखने के लिए एक उचित समाधान है?

धन्यवाद रिचर्ड

उत्तर:

जवाब के लिए 2 № 1

क्या एक गुलाम एक अलग mysqld प्रक्रिया है?

अलग mysql डेमन का उपयोग करने की कोई आवश्यकता नहीं है,
मास्टर में आप बाइनरी लॉग को सक्षम करते हैं
गुलाम में आप रिले-बिन, और मास्टर पर संबंधित जानकारी को कॉन्फ़िगर करते हैं
(देख http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html)

क्या गुलाम उसी मशीन पर चल सकता है जैसे मास्टर?

हाँ लेकिन यह मत करो ,
क्योंकि एक बार मशीन दुर्घटनाग्रस्त हो गई,
आपका स्वामी और दास दोनों दूर हो गए हैं
(डीटीपी)

एक बार सेट होने और चलने के दौरान किसी भी हस्तक्षेप की आवश्यकता होती है या क्या मास्टर ईमानदारी से सभी अपडेट को आगे बढ़ाएगा?

मास्टर विश्वासपूर्वक सभी अपडेट को आगे बढ़ाएगा,
मास्टर लॉग बाइनरी लॉग बाइनरी में लॉग इन करें,
और दास को बाइनरी लॉग प्राप्त करना चाहिए (जैसा कि @ जोहान ने समझाया, यह मास्टर से खींचता है)

हालाँकि,

  1. टेबल लॉकिंग गुलाम पर प्रतिकृति देरी का कारण बन सकती है
  2. असफल लेखन क्वेरी जिसे दास पर निष्पादित नहीं किया जा सकता है

आप प्रतिकृति का इलाज कर सकते हैं बस एक विधि है जो सभी वर्ग को मास्टर पर निष्पादित करने की अनुमति देती है,
दास के प्रति,
और प्राप्त आदेश में फिर से निष्पादित करें
(यह बाइनरी लॉग क्या करता है)

मास्टर को प्रभावित किए बिना अपना बैकअप बनाने के लिए, संभवतः मैं गुलाम पर सिर्फ mysqldump चला सकता हूं?

बेशक, यह गुलाम होने का उद्देश्य है
हालांकि, इसमें कुछ देरी होगी ...
जब आप डेटा डंप कर रहे हैं,
आप लिखने के लिए तालिका को अवरुद्ध कर सकते हैं (मान लेना कम प्रभाव है),
जबकि मास्टर आगे लेखन पर ले जाया जा सकता है

और अंत में, क्या यह ऑफ-साइट कॉपी करने के लिए बैकअप बनाए रखने के लिए एक उचित समाधान है?

हाँ, यह एक mysql आपदा वसूली के रूप में माना जाता है


उत्तर № 2 के लिए 1

क्या एक गुलाम एक अलग mysqld प्रक्रिया है?

यह हो सकता है, लेकिन यह आमतौर पर एक अलग मशीन पर स्थापित एक अलग MySQL सर्वर है।

क्या गुलाम उसी मशीन पर चल सकता है जैसे मास्टर?

हां, यदि आपको करना है, तो बस इसे एक अलग पोर्ट नंबर और अलग-अलग server_id असाइन करें।
Note that it"s not much of a backup if it"s on the same machine.

एक बार सेट होने और चलने के दौरान किसी भी हस्तक्षेप की आवश्यकता होती है या क्या मास्टर ईमानदारी से सभी अपडेट को आगे बढ़ाएगा?

गुरु नहीं करता push कुछ भी, गुलाम pulls अद्यतन।

मास्टर को प्रभावित किए बिना अपना बैकअप बनाने के लिए, संभवतः मैं गुलाम पर सिर्फ mysqldump चला सकता हूं?

हां, लेकिन अगर मास्टर और गुलाम एक ही मशीन पर चल रहे हैं, तो mysqldunmp चल रहा है मर्जी उस सर्वर को धीमा करें।

और अंत में, क्या यह ऑफ-साइट कॉपी करने के लिए बैकअप बनाए रखने के लिए एक उचित समाधान है?

हाँ, ऑफ साइट यहाँ खोजशब्द है।
मैं दास को बंद करने की जगह पर रखूँगा, जो एक ही मशीन पर दास होने की तुलना में अधिक समझ में आता है।

यहां एक ट्यूटोरियल है
http://www.howtoforge.com/mysql_master_master_replication


संबंधित सवाल
सबसे लोकप्रिय