दो अलग-अलग स्थानों में दो MySQL डेटाबेस सिंक करें


20

मेरे पास दो समान MySQL डेटाबेस हैं एक आंतरिक सर्वर में और दूसरा एक वेब होस्टिंग सर्वर में। मैं आंतरिक सर्वर पर डेटाबेस के साथ प्रत्येक दिन वेब होस्ट पर डेटाबेस को अपडेट करना चाहता हूं। क्या इस प्रक्रिया को स्वचालित करने का एक तरीका भी है कि मैं इसे मैन्युअल रूप से कैसे कर सकता हूं? अगर मैं इसे मैन्युअल रूप से करना चाहता हूं, तो क्या मुझे आंतरिक सर्वर पर डेटाबेस का SQL डंप प्राप्त करने और फिर इसे वेब होस्ट पर डेटाबेस पर आयात करने की आवश्यकता है? किसी कृपया सलाह कर सकते हैं


आप यहां मौजूदा जवाब StackOverflow stackoverflow.com/questions/52583/…
महेश पाटिल

# 2 के बारे में अगर मैं आंतरिक से पूर्ण डंप करता हूं और उत्पादन पर आयात करता हूं तो यह ऑनलाइन डेटाबेस को अधिलेखित कर देगा, मेरा मतलब है कि मेरे पास डेटाबेस वेब पर ऑनलाइन खरीदार हैं और मैं लाइव में आंतरिक डेटाबेस खरीदता हूं, क्या आप BTW को स्पष्ट कर सकते हैं अगर दोनों एक ही आईडी जमा कर रहे थे तो यह गड़बड़ हो जाएगा?
18'18

जवाबों:


20

आपके पास कुछ विकल्प हैं:

  1. सर्वर के बीच MySQL प्रतिकृति सेट करें। आपका आंतरिक सर्वर मास्टर के रूप में कार्य कर सकता है, और दास के रूप में वेब होस्ट सर्वर। मास्टर पर किए गए किसी भी अपडेट को तुरंत दास को दोहराया जाएगा (एक कामकाजी कनेक्शन मानकर)। यह चुनने की सबसे आसान और सबसे प्रभावी विकल्प होगा। प्रतिकृति का उपयोग करने के लिए, आपके आंतरिक डेटाबेस को वेब होस्ट से नेटवर्क पर पहुंच योग्य होना चाहिए।

    आप यहां प्रतिकृति के बारे में अधिक पढ़ सकते हैं ।

  2. प्रत्येक दिन, आप आंतरिक सर्वर पर एक mysqldump प्रदर्शन कर सकते हैं, वेब होस्ट पर डंप फ़ाइल अपलोड कर सकते हैं और डेटा आयात कर सकते हैं। चूंकि यह एक पूर्ण डंप है, यदि आपके पास एक बहुत बड़ा डेटाबेस है, तो यह संभव नहीं है। यदि आप चाहें, तो इस प्रक्रिया को संभवतः मैन्युअल रूप से करने से बचने के लिए स्क्रिप्ट किया जा सकता है।

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

यदि दो डेटाबेस के बीच कोई संबंध नहीं है, तो हर दिन mysqldumps लेना सबसे आसान तरीका होगा।


# 2 के बारे में अगर मैं आंतरिक से पूर्ण डंप करता हूं और उत्पादन पर आयात करता हूं तो यह ऑनलाइन डेटाबेस को अधिलेखित कर देगा, मेरा मतलब है कि मेरे पास डेटाबेस वेब पर ऑनलाइन खरीदार हैं और मैं लाइव में आंतरिक डेटाबेस खरीदता हूं, क्या आप BTW को स्पष्ट कर सकते हैं अगर दोनों एक ही आईडी जमा कर रहे थे तो यह गड़बड़ हो जाएगा?
शरीफ

4

आप सममिति जैसे विकल्पों का भी उपयोग कर सकते हैं जो दो डेटाबेस को सिंक्रनाइज़ करने में मदद कर सकते हैं। इसके साथ आप उन तालिकाओं का चयन करने में सक्षम होंगे जिन्हें इस तरह से सिंक्रनाइज़ करना होगा कि आप इंटरनेट बैंडविड्थ को बचा सकें। यह उस स्थिति में भी उपयुक्त होगा जब दो स्थानों के बीच कनेक्टिविटी का अभाव है।


2

मारियाडीबी के साथ डेटाबेस प्रतिकृति कैसे स्थापित करें: https://www.techrepublic.com/article/how-to-set-up-database-replication-with-mariadb/


1
DBA.SE में आपका स्वागत है। हम आपके योगदान / भागीदारी की सराहना करते हैं। हालाँकि, समुदाय पोस्ट किए गए उत्तरों में एक निश्चित गुणवत्ता की उम्मीद करता है। कृपया निम्नलिखित लेख पढ़ने पर विचार करें: मैं एक अच्छा उत्तर कैसे लिखूं? (सहायता केंद्र) अनुभाग में प्रश्न का उत्तर दें एक छोटा वाक्य है जो पढ़ता है: बाहरी संसाधनों के लिंक को प्रोत्साहित किया जाता है, लेकिन कृपया लिंक के चारों ओर संदर्भ जोड़ें, ताकि आपके साथी उपयोगकर्ताओं को कुछ पता चले कि यह क्या है और यह क्यों है
जॉन उर्फ hot2use

0

आप Navicat का उपयोग कर सकते हैं । यह मुख्य रूप से एक db प्रबंधक है, लेकिन इसमें डेटा ट्रांसफर और डेटा सिंक्रोनाइज़ेशन कार्यक्षमता के साथ-साथ एक शेड्यूलर भी है ताकि आप स्वचालित कर सकें। यह मुफ़्त नहीं है लेकिन 30 पूर्ण फ़ंक्शन का परीक्षण है।

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