SQL सर्वर को MySQL में माइग्रेट करने की आवश्यकता है


22

मेरे पास एक Windows सर्वर पर SQL Server 2008 पर एक डेटाबेस है और मैं एक Ubuntu सर्वर पर एक MySQL डेटाबेस के लिए सभी डेटा को स्थानांतरित करना चाहता हूं। मैंने MySQL ODBC ड्राइवर के साथ SQL सर्वर आयात और निर्यात विज़ार्ड का उपयोग करने की कोशिश की है, और यह दोनों डेटाबेसों को सही ढंग से एक्सेस करता है, लेकिन टाइप रूपांतरण के लिए विशिष्टताओं वाली xml फाइलें मौजूद नहीं थीं और मेरे लिए विनिर्देशों को सही ढंग से बनाने के लिए बहुत सीमित थे। क्या किसी को यह भी पता है कि इस डेटा को ट्रांसफर करने के लिए एक बेहतर टूल कैसे बनाया जाए?


1
क्या आपने यह प्रश्न देखा है ? यह MySql से MSSQL के डेटा की नकल करने के बारे में है। शायद आपको वहाँ कुछ संकेत मिलेंगे।
मैरियन

@ मेरियन लिंक के लिए धन्यवाद। SQL सर्वर में लिंक सर्वर के रूप में MySQL सर्वर का उपयोग करना मेरी समस्या का समाधान प्रतीत होता है।
murgatroid99

1
हम कितने डेटा की बात कर रहे हैं? 5MB? 3 टीबी?
एरोनजैंडरसन

मुझे लगता है कि यह जीबी या 10 जीबी का था, लेकिन मुझे वास्तव में याद नहीं है क्योंकि यह सवाल डेढ़ साल पहले का है।
murgatroid99

जवाबों:


13

मेरे दो सुझाव हैं:

1) मुझे वाणिज्यिक उत्पादों को लाने से नफरत है लेकिन MSSQL को MySQL में स्थानांतरित करने के लिए $ 49.00 उपकरण हैं

2) आगे के सुझावों के लिए MySQL के MSSQL माइग्रेशन मंचों का प्रयास करें

अद्यतन 2011-06-03 18:03 EDT

एक पुराना उत्पाद है जो जनवरी 2010 में EOL वापस चला गया जिसे MySQL माइग्रेशन टूलकिट कहा जाता है । यदि आप इसे पकड़ सकते हैं, तो आप इसका उपयोग कर सकते हैं।

UPDATE 2011-06-03 18:06 EDT

मुझे अभिलेखागार मिला !!! यहाँ MySQL माइग्रेशन टूलकिट है

अद्यतन 2011-06-03 18:11 EDT

यहाँ MySQL माइग्रेशन टूलकिट अवलोकन है

UPDATE 2011-06-03 19:08 EDT

एक और वाणिज्यिक उत्पाद ($ 29)

UPDATE 2011-06-03 19:30 EDT

यहाँ फ्रीवेयर टूल्स की एक सूची दी गई है जो MSSQL को MySQL में माइग्रेट करते हैं।

UPDATE 2011-06-15 17:47 EDT

Microsoft SQL सर्वर माइग्रेट करने के लिए गाइड पर Oracle से व्हाइटपॉपर (PDF) प्राप्त करें MySQL (स्टिल कमर्शियल)

UPDATE 2012-08-21 01:24 EDT

इस MySQL WebPage के अनुसार , अनुभाग का MySQL Workbench: Database Migration Wizardदावा है कि MySQL कार्यक्षेत्र में SQL सर्वर से MySQL में DB ऑब्जेक्ट्स को माइग्रेट करने की क्षमता है।


1
मैं किसी भी व्यावसायिक उत्पादों का उपयोग नहीं करना पसंद करूंगा यदि मैं उनसे बच सकता हूं। मैंने माइग्रेशन टूलकिट का उपयोग करने की कोशिश की, लेकिन मुझे लगता है कि यह MySQL के नवीनतम संस्करण के साथ असंगत है: उत्पन्न SQL इंसर्ट में वाक्यविन्यास त्रुटियों की एक बड़ी संख्या थी और विज़ार्ड को चलाने के बाद उत्पन्न तालिकाओं में कोई पंक्तियाँ नहीं थीं। शेयरवेयर टूल भी MySQL के पुराने संस्करणों के साथ काम करने के लिए बनाए गए लगते हैं। कोशिश करने के लिए धन्यवाद।
murgatroid99

4

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


3

क्या आपने इस कार्य के लिए SSIS का उपयोग किया है? यह SQL सर्वर के लिए ETL उपकरण है और इसमें बहुत सारे परिवर्तन और तर्क हैं जो आपको इस कार्य को करने में मदद कर सकते हैं।


आयात / निर्यात विज़ार्ड मैंने वास्तव में SSIS पैकेज का उपयोग करके उल्लेख किया है। मेरे पास समस्या यह थी कि SSIS डेटा को स्टोर करने के लिए XML फ़ाइलों का उपयोग करता है कि कैसे विभिन्न डेटाबेस प्रबंधन प्रणालियों में प्रकारों के बीच कनवर्ट किया जाए, और उन फ़ाइलों में MySQL के लिए मौजूद नहीं था।
murgatroid99

3

MySQL कार्यक्षेत्र यह कर सकता है:

http://dev.mysql.com/downloads/workbench

इसे सीधे एमएस SQL ​​सर्वर मशीन (गति लाभ!) पर स्थापित किया जा सकता है, जिसे आपके Ubuntu MySQL सर्वर तक पहुंचने में सक्षम होने की आवश्यकता है।


2

मैंने SQL सर्वर से MySQL में आयात करने के लिए माइग्रेशन टूलकिट की कोशिश की । लेकिन SQLYog आयात बाहरी डेटा अच्छा मिला। मैं आयात प्रक्रिया को शेड्यूल कर सकता था और मौजूदा टेबल पर आयात करने के लिए आवश्यक मैपिंग भी कर सकता था। यहाँ से डाउनलोड करें

यहाँ छवि विवरण दर्ज करें


SQLyog एक बेहतरीन टूल है, लेकिन "इम्पोर्ट एक्सटर्नल डेटा" फीचर बेहद धीमा है। MySQL वर्कबेंच की तुलना में परिमाण धीमे के कई क्रमों में। काश SQLyog डेवलपर्स समस्या को ठीक करते, क्योंकि इंटरफ़ेस कार्यक्षेत्र की तुलना में बहुत अधिक सहज है। लेकिन जब तक आप केवल आयात करने के लिए घंटों या संभवतः दिनों की प्रतीक्षा करने के लिए तैयार होने की तुलना में सैकड़ों पंक्तियों का आयात कर रहे हैं।
अगली

2

मैंने हाल ही में इस कार्य को पूरा करने के लिए एटलकेमी जारी किया । यह एक खुला-खट्टा घोल है जो अजगर के 4 लाइनों के साथ किसी भी 2 SQL डेटाबेस के बीच माइग्रेशन की अनुमति देता है । समर्थित RDBMS के MySQL, PostgreSQL, Oracle, SQLite और SQL सर्वर शामिल हैं।

यह एक SQL विक्रेता के कॉलम प्रकारों को दूसरे के लिए मैप करने के कठिन कार्य का ध्यान रखेगा। न केवल यह स्कीमा को स्थानांतरित और अनुवाद करेगा, यह सभी डेटा, अनुक्रमित और बाधाओं को डेटाबेस में स्थानांतरित करेगा ।

स्थापित करने के लिए:

$ pip install etlalchemy

एल Capitan पर :pip install --ignore-installed etlalchemy

चलाने के लिए:

from etlalchemy import ETLAlchemySource, ETLAlchemyTarget

mssql_db_source = ETLAlchemySource("mssql+pyodbc://username:password@DSN")

mysql_db_target = ETLAlchemyTarget("mysql://username:password@hostname/db_name", drop_database=True)
mysql_db_target.addSource(mssql_db_source)

परियोजना की उत्पत्ति पर अधिक पृष्ठभूमि प्राप्त करने के लिए, इस पोस्ट को देखें। यदि आपको उपकरण चलाने में कोई त्रुटि मिलती है, तो जीथब रेपो पर एक मुद्दा खोलें और मैं इसे एक सप्ताह से भी कम समय में पैच कर दूंगा!


0

MySQL कार्यक्षेत्र प्रवासन उपकरण इस कार्य को करने में आपकी सहायता कर सकता है

1) माइएसक्यू वर्कबेंच मुख्य स्क्रीन पर माइग्रेशन प्रक्रिया शुरू करने के लिए, डेटाबेस-> माइग्रेशन विज़ार्ड पर जाएं।

2) हमें यह सुनिश्चित करने के लिए किसी और चीज की जांच करनी चाहिए कि क्या हम कार्य जारी रख सकते हैं। अगर सब कुछ ठीक लगता है, तो हम स्टार्ट माइग्रेशन पर प्रेस कर सकते हैं।

3) इस चरण में, हमें इस मामले में, SQL सर्वर, स्रोत डेटाबेस के बारे में जानकारी प्रदान करने की आवश्यकता है।

हम अपने स्रोत पैरामीटर को कॉन्फ़िगर करेंगे:

डेटाबेस सिस्टम: Microsoft SQL सर्वर

कनेक्शन विधि: ODBC (नेटिव)

ड्राइवर: SQL सर्वर

सर्वर: लोकलहोस्ट

उपयोगकर्ता नाम: सा

4) अब, हम टेस्ट कनेक्शन बटन का उपयोग करके कनेक्शन की जांच कर सकते हैं।

5) फिर, हमें लक्ष्य पैरामीटर जोड़ने की आवश्यकता है:

कनेक्शन विधि: मानक (टीसीपी / आईपी)

होस्टनाम: Your_host_name

पोर्ट: 3306

उपयोगकर्ता नाम: माइग्रेशन

6) और अतिरिक्त जानकारी की पुष्टि करने के लिए टेस्ट कनेक्शन पर प्रेस करें।

7) अगले चरण में, MySQL वर्कबेंच कैटलॉग और स्कीमा की एक सूची लाने के लिए हमारे SQL सर्वर से कनेक्ट होगा।

8) अब, हम सूची से Your_database_name डेटाबेस चुनेंगे।

हम चुन सकते हैं कि रिवर्स इंजीनियर स्कीमा और ऑब्जेक्ट को कैसे मैप किया जाए। हम कैटलॉग का उपयोग करेंगे। Chema.Table -> Catalog.Table विकल्प, इसलिए हमारे MySQL में, हमारे पास हमारे SQL सर्वर डेटाबेस में चुने गए डेटाबेस और वर्तमान टेबल होंगे।

9) अगर सब कुछ ठीक रहा, तो हमारे पास माइग्रेट होने वाली वस्तुओं की एक सूची होगी।

10) इस मामले में, हमारे पास टेबल ऑब्जेक्ट्स, व्यू ऑब्जेक्ट्स और रूटीन ऑब्जेक्ट्स हैं। हम केवल टेबल ऑब्जेक्ट का चयन करेंगे क्योंकि बाकी ऑब्जेक्ट के लिए हमें संबंधित MySQL के बराबर कोड को मैन्युअल रूप से जांचना चाहिए।

11) इस चरण में, स्रोत से ऑब्जेक्ट्स को MySQL के संगत ऑब्जेक्ट में परिवर्तित किया जाता है।

12) यदि सब कुछ ठीक रहा, तो हम यह चुनकर जारी रख सकते हैं कि हम लक्ष्य में माइग्रेटेड स्कीमा कैसे बनाना चाहते हैं। हम डिफ़ॉल्ट "लक्ष्य आरडीबीएमएस में स्कीमा बनाएँ" विकल्प का उपयोग करेंगे।

13) अब, निर्माण स्कीमा प्रक्रिया की जाँच करें।

14) अगले चरण में, हम प्रत्येक स्क्रिप्ट निष्पादन के परिणाम की जांच कर सकते हैं, और हम अपने MySQL सर्वर पर बनाए गए नए डेटाबेस की जांच कर सकते हैं।

15) इस बिंदु पर, हमारे पास डेटाबेस संरचना होगी, लेकिन हमारे पास अभी तक डेटा नहीं है। अब, हम यह चुनेंगे कि हम डेटा को MySQL सर्वर में कैसे कॉपी करना चाहते हैं। हम "आरडीबीएमएस को लक्षित करने के लिए तालिका डेटा की ऑनलाइन प्रतिलिपि" विकल्प का उपयोग करेंगे।

16) अंतिम चरण में, हम माइग्रेशन रिपोर्ट की जांच कर सकते हैं और कार्य समाप्त कर सकते हैं।

एक MS SQL DB को MySQL में परिवर्तित करने का एक और आसान तरीका Stellar के DIY टूल का उपयोग Stellar Converter नाम डेटाबेस के लिए है जो किसी विशिष्ट डेटाबेस की डेटाबेस फ़ाइल को सीधे चुन सकता है और परिवर्तनीय तालिकाओं का पूर्वावलोकन प्रदान कर सकता है और रूपांतरण के बाद डेटा को सीधे निर्दिष्ट डेटाबेस में संग्रहीत करेगा। आपके सिस्टम पर स्थापित है। इस स्थिति में आपको MS SQL डेटाबेस फ़ाइल प्रदान करनी होगी और रूपांतरण के बाद इसे सिस्टम में स्थापित MySQL डेटाबेस में संग्रहीत किया जाएगा। आप इस सॉफ्टवेयर का मुफ्त संस्करण स्टेलर की आधिकारिक वेबसाइट से प्राप्त कर सकते हैं ।

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