7

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

मैं कम से कम दो डेटाबेस का उपयोग करें, उदाहरण के लिए:

  • my_local: अपने स्थानीय परीक्षण डेटाबेस है कि वह हमेशा mysql कार्यक्षेत्र साथ सिंक्रनाइज़ होती है
  • myserver_database: सर्वर में अंतिम डेटाबेस, रखना ध्यान रखें कि यह डेटाबेस उत्पादन में है और उपयोगकर्ता इसे अपडेट करेंगे और मैं इसमें संग्रहीत किसी भी जानकारी को खोला नहीं जा सकता।

अब मैं अपने डेटाबेस हर बार मैं चाहता हूँ synchronyze कर सकते हैं, लेकिन मैं अंतिम सर्वर से योजना को अद्यतन करने, क्योंकि वे अलग-अलग नाम है एक तरह से नहीं मिल रहा है, मैं की तरह कुछ मिलता है:

my_local => N/A 
N/A  <= myserver_database 

अतीत में मैंने बस mysql वर्कबेंच में डेटाबेस का नाम बदल दिया लेकिन यह अब बग की वजह से काम नहीं कर रहा है।

मैं डेटाबेस नाम के बावजूद, अलग-अलग डेटाबेस के साथ एक ही वर्कबेंच योजना को सिंक्रनाइज़ करने में सक्षम होना चाहता हूं, मुझे डिफ़ॉल्ट नाम से संशोधित करके डेटाबेस नाम को बल देने का कोई तरीका नहीं मिला।

कृपया ध्यान रखें कि मैं इसे कई बार करूँगा इसलिए यदि संभव हो तो ट्राइक या खतरनाक समाधान से बचना बेहतर होगा।

+0

यह आपके प्रश्न पर उत्तर देने वाला नहीं है। आप MySQL के लिए dbForge स्टूडियो में स्कीमा और डेटा तुलना टूल की सहायता से अपने डेटाबेस की तुलना और सिंक्रनाइज़ करने का प्रयास कर सकते हैं - http://www.devart.com/dbforge/mysql/studio/ – Devart

+0

@Devart मैं सभी के साथ खुश हूं MySQL वर्कबेंच में विशेषताएं और यह 100% मुफ़्त है; मुझे केवल इस सरल और बेवकूफ बग को ठीक करने की आवश्यकता है; मुझे समझ में नहीं आता कि यह चयनित व्यक्ति का उपयोग करने के बजाय डेटाबेस के स्पष्ट नामों का हमेशा उपयोग क्यों करता है। – Plokko

उत्तर

5

मुझे पता है कि यह सवाल काफी पुराना है, लेकिन मैं इसे वर्कबेंच 5.2.40 पर करने में सक्षम था और ऑनलाइन अपडेट किए गए कई अद्यतन संसाधन नहीं हैं।

सबसे पहले मैं अपने पुराने डेटाबेस की एक स्क्रिप्ट मिल गया:

mysqldump -no-data myolddb > script.sql 

(मैं केवल स्कीमा एक समय होनेवाला बनाना चाहते हैं, यह कार्यक्षेत्र पर भी किया जा सकता है)

अब चाल को संशोधित करने के लिए है अपनी पहली पंक्ति के रूप में use mynewdb; जोड़कर स्क्रिप्ट, इस तरह वर्कबेंच एन/ए या डिफ़ॉल्ट स्कीमा बकवास नहीं कहेंगे।

वर्कबेंच पर मैंने mynewdb का एक ईईआर मॉडल बनाया जो मेरे सर्वर पर है, और उसके बाद "डेटाबेस-> किसी भी स्रोत के साथ सिंक्रनाइज़ करें" और स्क्रिप्ट I का उपयोग करके विज़ार्ड में "मॉडल स्केमडाटाटा" से "स्क्रिप्ट फ़ाइल" में चुनें। शुरुआत में संशोधित। और फिर सिंच विज़ार्ड ऐसा काम करता था।

+0

धन्यवाद! चाल सक्रिय डेटाबेस के बजाय स्क्रिप्ट के साथ सिंक्रनाइज़ करना है। – jocull