2011-10-19 8 views
5

मेरे पास एक लाइव MySQL डीबी है जो नियमित रूप से लाइव डेटा को स्टेजिंग सर्वर पर कॉपी करने के लिए बहुत बड़ी है।एक लाइव MySQL डेटाबेस से डेटा को प्रतिलिपि बनाने के लिए रणनीतियां

क्या इस स्क्रिप्ट को साप्ताहिक चलाने के इरादे से पिछले हफ्ते में बदलाव करने का कोई तरीका है? क्या प्रत्येक तालिका में यह प्राप्त करने के लिए updated टाइमस्टैम्प फ़ील्ड होना चाहिए?

उत्तर

6

मुझे नहीं पता कि "नियमित रूप से प्रतिलिपि करने के लिए बहुत बड़ा" कितना बड़ा है, लेकिन मैं डेटाबेस को सिंक्रनाइज़ करने के लिए SQLyog का उपयोग करता हूं। यह बुद्धिमानी से केवल रिकॉर्ड्स के लिए सम्मिलित/अद्यतन/हटा देता है। मैं इसे अत्यधिक अनुशंसा करता हूं।

4

इस बारे में जाने का एक तरीका स्टेजिंग सर्वर को उत्पादन सर्वर का एक प्रतिकृति दास बनाना होगा। हालांकि, अगर आप नहीं चाहते हैं कि स्टेजिंग मशीन लगातार उत्पादन मास्टर के साथ अद्यतित रहें, तो आप गुलाम मोड को बंद रख सकते हैं।

फिर साप्ताहिक, एक स्क्रिप्ट चलाएं जो दास को कुछ घंटों तक शुरू करती है, जिससे वह खुद को मास्टर के साथ अद्यतित कर सकती है, और गुलाम को फिर से रोक सकती है।

START SLAVE; 
-- Wait a while 
-- Trial and error to determine how long it takes to come into sync 
STOP SLAVE; 

यह इसे वर्तमान सप्ताह के लिए मास्टर के साथ एक राज्य में सहेज देगा। दूसरी तरफ, यदि आपको वास्तव में साप्ताहिक स्नैपशॉट के रूप में इसकी आवश्यकता नहीं है तो आप बस दास को हर समय चल सकते हैं ताकि यह सिंक में रह सके।

संबंधित मुद्दे

 संबंधित मुद्दे