Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

रिमोट मशीन पर चल रहे एमएस एसक्यूएल डेटाबेस को लिनक्स पर चल रहे मेरे स्थानीय MySQL डेटाबेस में माइग्रेट कैसे करें, एन्कोडिंग को संरक्षित करें

MySQL वर्कबेंच का उपयोग करते हुए, मैंने इन संयोजनों को आजमाया है, इनमें से किसी ने भी काम नहीं किया:

दूरस्थ MS SQL> दूरस्थ MySQL मूल ODBC ड्राइवर

दूरस्थ एमएस एसक्यूएल> दूरस्थ MySQL ODBC डेटा स्रोत ड्राइवर

दूरस्थ MS SQL> दूरस्थ MySQL freeTDS ODBC ड्राइवर (UTF-8 के साथ या बिना)

वर्चुअल MS SQL> वर्चुअल MySQL नेटिव ODBC ड्राइवर

वर्चुअल MS SQL> वर्चुअल MySQL ODBC डेटासोर्स ड्राइवर

वर्चुअल MS SQL> वर्चुअल MySQL freeTDS ODBC ड्राइवर (UTF-8 के साथ या बिना)

इनमें से किसी भी मामले में, या तो माइग्रेशन प्रक्रिया अटक गई (नॉन रिस्पॉन्सिंग वर्कबेंच) या कैरेक्टर सही तरीके से ट्रांसफर नहीं हुए।

परीक्षण और त्रुटि का कुल समय लगभग 12 घंटे था।

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

चूंकि मैं अपने वर्चुअलबॉक्स मशीन से रिमोट डेस्कटॉप कनेक्शन (आरडीसी) के माध्यम से रिमोट W10 मशीन से जुड़ रहा था, सबसे पहले मैं चीजों को आसान बनाने के लिए इस अतिरिक्त कदम को हटाना चाहता था।

  1. यदि आपके पास अभी तक नहीं है, तो डाउनलोड करें और इंस्टॉल करें मुफ्त वर्चुअल बॉक्स मशीन जो Microsoft प्रदान करता है और इसे शुरू करें

  2. इस वर्चुअल मशीन से RDC प्रारंभ करें और कनेक्ट करने से पहले, वर्चुअल मशीन पर स्थानीय डिस्क जोड़ें जो दूरस्थ मशीन पर उपलब्ध हो

  3. रिमोट मशीन पर SQL सर्वर प्रबंधन स्टूडियो शुरू करें और डेटाबेस का बैकअप बनाएं (वांछित डेटाबेस पर राइट क्लिक करें, कार्य> बैकअप ..., डिस्क पर बैकअप फ़ाइल सहेजें)

  4. नेटवर्क पर नेविगेट करके और अपने वर्चुअल मशीन पर C:ड्राइव पर फ़ाइल अपलोड करके इस बैकअप फ़ाइल को वर्चुअल मशीन पर अपनी ड्राइव पर कॉपी करें

  5. अपने वर्चुअल मशीन MS SQL सर्वर पर स्थापित करें, एक्सप्रेस संस्करण जो मुफ़्त है, SQL सर्वर प्रबंधन स्टूडियो (मैंने 2014 संस्करण डाउनलोड किया है) के साथ

  6. नया डेटाबेस बनाएँ और कार्य चुनें...> पुनर्स्थापित करें> डेटाबेस..., अपने वर्चुअल मशीन पर अपलोड की गई फ़ाइल का चयन करें, मौजूदा डेटाबेस को अधिलेखित करें चुनें..

  7. अपने MS SQL सर्वर के लिए नया लॉगिन बनाएं (लॉगिन पर राइट क्लिक करें), वांछित लॉगिन और पासवर्ड का चयन करें, एक sysadmin भूमिका असाइन करें, बस चीजों को आसान बनाने के लिए, क्योंकि यह एक बार की माइग्रेशन प्रक्रिया है

  8. अपने स्थानीय होस्ट लिनक्स मशीन पर नवीनतम MySQL कार्यक्षेत्र स्थापित करें, मुझे लगता है कि MySQL डेटाबेस पहले से ही स्थानीय रूप से चल रहा है, यदि नहीं, तो इसे स्थापित करें

  9. क्योंकि आप Linux पर हैं, आपको अपने सिस्टम में FreeTDS ODBC ड्राइवर स्थापित करने के लिए अतिरिक्त कदम की आवश्यकता होगी, यदि यह लिंक, Linux पर FreeTDS ड्राइवर कैसे स्थापित करें मृत हो जाता है, MySQL वर्कबेंच मैनुअल में डेटाबेस माइग्रेशन विज़ार्ड / Microsoft SQL सर्वर माइग्रेशन की खोज करें

  10. वर्चुअल मशीन को अपने होस्ट लाइनक्स सिस्टम से एक्सेस करने के लिए सेटअप करें, मैंने इसे अटैच्ड टू:ब्रिजेड एडेप्टर का चयन करके और वर्चुअल मशीन की सेटिंग में wlan0 को चुनकर किया है

  11. वर्चुअल मशीन प्रारंभ करें और उसी नेटवर्क से IP श्रेणी का चयन करें जिसका आप एडेप्टर उपयोग करते हैं

  12. अपनी वर्चुअल मशीन पर MS SQL सर्वर के लिए फ़ायरवॉल नियम जोड़ें या अस्थायी रूप से फ़ायरवॉल बंद करें

अब से, वर्चुअल मशीन चलने के साथ आपकी स्थानीय Linux मशीन पर सब कुछ किया जाता है

  1. MySQL वर्कबेंच 'डेटाबेस माइग्रेशन प्रारंभ करें, स्रोत मशीन के रूप में एमएस एसक्यूएल का चयन करें, इनपुट सही आईपी पता जो आपने अपनी वर्चुअल मशीन में पहले सेट किया था

  2. लक्ष्य डेटाबेस के रूप में, अपने स्थानीय MySQL डेटाबेस सेटिंग्स और क्रेडेंशियल्स का उपयोग करें

  3. लक्ष्य निर्माण विकल्प चरण में केवल एक SQL स्क्रिप्ट फ़ाइल बनाएँ का चयन करें और यदि स्कीमा पहले से ही बाहर निकलती हैं, तो उन्हें रखें चुनें।

  4. जब तक आप डेटा ट्रांसफर सेटअप तक नहीं पहुंच जाते, तब तक अगले चरणों से गुजरें। वहां टेबल की ऑनलाइन कॉपी चुनें... लेकिन नेक्स्ट दबाएं नहीं

  5. चरण 15 में सहेजी गई स्क्रिप्ट को संपादित करें:

हटाएं:

CREATE SCHEMA IF NOT EXISTS `Test` ;

जोड़ें:

CREATE DATABASE `Test` DEFAULT CHARACTER SET utf16 COLLATE utf16_czech_ci;

तालिका परिभाषा में वांछित वर्ण सेट और संयोजन जोड़कर सभी तालिका परिभाषाएँ बनाएँ:

CREATE TABLE IF NOT EXISTS `TestTable` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf16_czech_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf16 COLLATE=utf16_czech_ci;
  1. इस अद्यतन स्क्रिप्ट को अपने MySQL डेटाबेस में चलाएँ

  2. MySQL कार्यक्षेत्र में अगले चरण पर जाएं और डेटा सही ढंग से आयात होना चाहिए

कुछ चरण स्पष्ट रूप से नहीं बताए गए हो सकते हैं, कृपया मुझे टिप्पणियों में बताएं यदि आपको कुछ स्पष्टीकरण की आवश्यकता है




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql में गतिशील रूप से कॉलम में पंक्ति मान कैसे बनाएं?

  2. जब फ़ाइल किसी अन्य स्थान पर हो तो LOAD DATA INFILE स्टेटमेंट का उपयोग कैसे करें?

  3. PHP का उपयोग करके चेकबॉक्स का चयन करके एकाधिक पंक्तियों को हटाएं

  4. mysql में ST_Distance_Sphere दो स्थानों के बीच सटीक दूरी नहीं दे रहा है

  5. त्रुटि:'प्राथमिक' कुंजी के लिए डुप्लिकेट प्रविष्टि '0'