2013-03-22 12 views
9

यदि मेरे पास एक टेबल है (इसे orders पर कॉल करें) नाम के एक सर्वर पर, उदाहरण के लिए, local। और मेरे पास यह वही टेबल है जिसका मेरा दूसरा नाम है, उदाहरण के लिए, remoteदो MySQL तालिकाओं को कैसे सिंक करें?

मेरी समस्या यह है कि इन दो तालिकाओं को सिंक करने का सबसे अच्छा तरीका क्या है?

मुझे एक समाधान चाहिए जो एक रजिस्ट्री को प्रतिस्थापित करता है यदि स्थानीय रिमोट से अलग है। और रजिस्ट्री डालें यदि यह स्थानीय तालिका पर मौजूद नहीं है।

मैं इस एक के समान एक डंप आदेश डंप उपयोग करने की कोशिश की थी, लेकिन काम नहीं किया था के रूप में उम्मीद:

/usr/bin/mysqldump --defaults-file=~/my/conf.cnf --skip-opt --skip-add-locks --default-character-set=latin1 --disable-keys --no-create-db --no-create-info --dump-date --compress --quick --replace --where='date > DATE_SUB(NOW(), INTERVAL 1 DAY)' mydb orders >> /backup/myDump 

मैं यह कैसे कर सकते हैं? ऐसा करने के लिए मैं एक स्क्रिप्ट कैसे कर सकता हूं? http://dev.mysql.com/doc/refman/5.5/en/replication.html

+0

MySQL में एक मास्टर/गुलाम प्रतिकृति है जिसमें यह आपके एप्लिकेशन के लिए अधिक है? http://dev.mysql.com/doc/refman/5.0/en/replication.html –

+1

क्या आपको बिडरेक्शनल सिंक की आवश्यकता है? यदि ऐसा है तो आपको हटाए जाने के लिए कुछ तरीका चाहिए, क्योंकि केवल डालने वाली बोली-प्रक्रिया सिंक गलत पंक्तियों को गलत तरीके से पुनर्निर्मित करेगा। – cdhowie

+0

@cdhowie, केवल अनियंत्रित। – GarouDan

उत्तर

9

pt-मेज-सिंक कर सकते हैं:: http://www.percona.com/doc/percona-toolkit/2.1/pt-table-sync.html

भी other SO questions and answers pt-मेज-सिंक उल्लेख देखें

+0

क्या आप जानते हैं कि मैं मैक पर भी यह टूल इंस्टॉल कर सकता हूं? – GarouDan

+0

हां, मैं नियमित रूप से मैक पर पेर्कोना टूलकिट का उपयोग करता हूं। आपको बस पर्ल और शायद कुछ पर्ल मॉड्यूल की आवश्यकता है। –

+0

मैं खोज रहा हूं, लेकिन क्या आप जानते हैं कि मैं इस चेतावनी को कैसे हल कर सकता हूं? चेतावनी: पूर्व शर्त डीबीडी :: mysql 3 नहीं मिला। 'मैंने' perl Makefile.PL 'चलाया था। – GarouDan

0

यकीनन "सर्वश्रेष्ठ" जिस तरह से MySQL प्रतिकृति, यहाँ प्रलेखित उपयोग करने के लिए है।

+1

क्या आप मेरी एक स्क्रिप्ट बनाने में मदद कर सकते हैं? =) मैं भी दस्तावेज़ पढ़ रहा हूँ। – GarouDan

0

मैं लगातार दो तालिकाओं को सिंक करने की समान समस्या को हल कर रहा हूं।

सभी स्क्रिप्ट (जिनमें से अधिकांश पुराने हैं) मैं इस सक्रिय रूप से विकसित एप्लिकेशन मिल गया है के अलावा (होनहार लग रहा है)

https://github.com/mrjgreen/db-sync

मैं इसे कोशिश करता हूँ और शायद बाद में मैं एक उदाहरण लिखेंगे ।

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