ServBay की MariaDB में मौजूदा MySQL डेटाबेस से डेटा कैसे इम्पोर्ट करें
ServBay एक शक्तिशाली लोकल वेब डेवलपमेंट एनवायरनमेंट है, जिसमें MariaDB डिफ़ॉल्ट डेटाबेस मैनेजमेंट सिस्टम के रूप में इनबिल्ट है। MariaDB और MySQL के बीच उच्च स्तर की अनुकूलता है, जिससे मौजूदा MySQL इंस्टेंस से ServBay की MariaDB में डेटा माइग्रेट करना अपेक्षाकृत आसान हो जाता है। यह लेख आपको बताएगा कि कैसे मौजूदा MySQL डेटाबेस को एक्सपोर्ट और सफलतापूर्वक ServBay एनवायरनमेंट में MariaDB में इम्पोर्ट करें।
ओवरव्यू
यह गाइड डेवलपर्स की मदद के लिए बनाई गई है ताकि वे अपने मौजूदा प्रोजेक्ट या डेटा के MySQL डेटाबेस को ServBay की MariaDB में माइग्रेट कर सकें। इससे आप ServBay में इस डेटा का लोकल डेवेलपमेंट और परीक्षण के लिए फायदा उठा सकते हैं और ServBay की पूरी कार्यक्षमता व सुविधा का लाभ ले सकते हैं।
उपयोग के परिदृश्य
- लाइव या किसी अन्य लोकल मशीन पर मौजूद MySQL डेटाबेस को ServBay एनवायरनमेंट में माइग्रेट कर के लोकल डेवेलपमेंट करना।
- मौजूदा MySQL डेटा को ServBay की MariaDB इंस्टेंस में मर्ज या बैकअप करना।
- ServBay वातावरण में मौजूदा MySQL डेटा की अनुकूलता के साथ अपने एप्लिकेशन का परीक्षण करना।
पूर्व शर्तें
डेटा इम्पोर्ट प्रक्रिया शुरू करने से पहले निम्नलिखित शर्तें पूरी होनी चाहिए:
- MySQL इंस्टॉल और चालू हो: आपके पास वह MySQL डेटाबेस इंस्टेंस होना चाहिए जिसमें एक्सपोर्ट किए जाने वाले डेटा हैं। उसका कनेक्शन विवरण (होस्ट, पोर्ट, यूज़रनेम, पासवर्ड) जानना जरूरी है।
- ServBay इंस्टॉल और चालू हो: ServBay पूर्व-इनस्टॉल्ड MariaDB के साथ आता है। सुनिश्चित करें कि ServBay ऐप चल रहा है और MariaDB सर्विस चालू है। आप ServBay मुख्य इंटरफेस के "सॉफ्टवेयर पैकेज" सूची में MariaDB की स्थिति देख सकते हैं।
- ServBay MariaDB कनेक्शन जानकारी: आपको ServBay MariaDB की कनेक्शन डिटेल्स पता होनी चाहिए। आमतौर पर MariaDB
127.0.0.1
(याlocalhost
) पर3306
पोर्ट के साथ चलती है, और डिफ़ॉल्ट यूज़रroot
होता है। आप ServBay ऐप के "डेटाबेस" टैब में MariaDB की पूरी कनेक्शन जानकारी और डिफ़ॉल्टroot
पासवर्ड देख सकते हैं। पहली बार उपयोग पर पासवर्ड नोट करें या ज़रूरत अनुसार बदल लें। - डेटाबेस यूजर की अनुमति: सुनिश्चित करें कि स्रोत MySQL डेटाबेस के लिए आपके पास एक्सपोर्ट परमिशन और ServBay MariaDB के लिए इम्पोर्ट व डेटाबेस बनाने की अनुमति है (
root
यूज़र के पास आमतौर पर ये सभी होती हैं)। - टर्मिनल एक्सेस: आपको कमांड लाइन टर्मिनल से डेटाबेस एक्सपोर्ट व इम्पोर्ट कमांड्स चलाने की आवश्यकता होगी। यहां दिखाए गए उदाहरण macOS या Linux के टर्मिनल के लिए हैं।
चरण 1: स्रोत MySQL डेटाबेस से डेटा एक्सपोर्ट करना
सबसे पहले, mysqldump
टूल का उपयोग करके अपने MySQL डेटाबेस को SQL फ़ाइल के रूप में एक्सपोर्ट करें।
- टर्मिनल खोलें: अपने macOS टर्मिनल एप्लिकेशन को चालू करें।
- स्रोत MySQL डेटाबेस से कनेक्ट करें: टर्मिनल में यह कमांड डालें और पासवर्ड देने पर दर्ज करें।bash
mysql -u your_mysql_username -p -h your_mysql_host -P your_mysql_port
1your_mysql_username
के स्थान पर अपना MySQL यूजर नाम डालें।your_mysql_host
के स्थान पर अपने MySQL सर्वर का पता डालें (जैसेlocalhost
या IP एड्रेस)।your_mysql_port
के स्थान पर MySQL पोर्ट डालें (अगर डिफ़ॉल्ट 3306 नहीं है)।- अगर आप वही मशीन इस्तेमाल कर रहे हैं और डिफ़ॉल्ट पोर्ट है, तो इसे ऐसे भी चला सकते हैं:
mysql -u your_mysql_username -p
।
- डेटाबेस एक्सपोर्ट करें:
mysqldump
कमांड से डेटाबेस एक्सपोर्ट करें। मान लें कि डेटाबेस का नामmydatabase
है:bashmysqldump -u your_mysql_username -p mydatabase > mydatabase.sql
1your_mysql_username
को अपने यूज़र नाम से बदलें।mydatabase
को अपने एक्सपोर्ट किए जाने वाले डेटाबेस के नाम से बदलें।- यह कमांड डेटाबेस की संरचना और डेटा को वर्तमान टर्मिनल डायरेक्ट्री की
mydatabase.sql
फ़ाइल में एक्सपोर्ट करता है। आप चाहें तो पूरा पथ भी लिख सकते हैं, जैसे/path/to/your/directory/mydatabase.sql
। - सभी डेटाबेस एक्सपोर्ट करने के लिए
--all-databases
विकल्प का उपयोग करें (सावधानी से करें)। - सिर्फ विशेष टेबल्स एक्सपोर्ट करने के लिए, डेटाबेस नाम के बाद टेबलस के नाम लिखें।
चरण 2: ServBay की MariaDB डेटाबेस की तैयारी
डेटा इम्पोर्ट करने से पहले, हो सकता है आपको MariaDB में एक नया खाली डेटाबेस बनाना पड़े जहाँ आप एक्सपोर्ट किया डेटा इम्पोर्ट करेंगे।
- टर्मिनल खोलें: अगर पहले से नहीं खोला है, तो टर्मिनल खोलें।
- ServBay की MariaDB से कनेक्ट करें: ServBay MariaDB कनेक्शन विवरण से कनेक्ट करें। सामान्यतः
root
यूज़र और ServBay में दिखाया गया पासवर्ड इस्तेमाल करें।bashmysql -u root -p -h 127.0.0.1 -P 3306
1- पासवर्ड के लिए प्रॉम्प्ट आएगा, यह ServBay MariaDB के
root
का है। इसे ServBay ऐप के "डेटाबेस" टैब में पाया जा सकता है। - अगर MariaDB की होस्ट या पोर्ट सेटिंग बदली है तो
-h
और-P
भी बदलें।
- पासवर्ड के लिए प्रॉम्प्ट आएगा, यह ServBay MariaDB के
- नया डेटाबेस बनाएं: MariaDB कमांड लाइन पर नीचे लिखे SQL से नया डेटाबेस बनाएं। सलाह है कि नाम MySQL डेटाबेस जैसा ही रखें, जैसे
mydatabase
।sqlCREATE DATABASE mydatabase;
1mydatabase
को अपने पसंदीदा नाम से बदलें।
चरण 3: डेटा को ServBay की MariaDB में इम्पोर्ट करें
अब आप एक्सपोर्ट की हुई SQL फ़ाइल को ServBay MariaDB के नए डेटाबेस में इम्पोर्ट कर सकते हैं।
- टर्मिनल खोलें: सुनिश्चित करें कि
mydatabase.sql
फ़ाइल वहां उपलब्ध है। नहीं है तो पूरा पता लिखें। - SQL फ़ाइल इम्पोर्ट करें: नीचे दिया कमांड चलाएँ:bash
mysql -u root -p -h 127.0.0.1 -P 3306 mydatabase < mydatabase.sql
1- पासवर्ड मांगा जाएगा — यह वह पासवर्ड है जो ServBay MariaDB के
root
के लिए है। mydatabase
को उस डेटाबेस नाम से बदलें जो आपने चरण दो में बनाया।mydatabase.sql
वही SQL फ़ाइल है जिसे आपने चरण एक में एक्सपोर्ट किया (या पूरा पथ दें)।
- पासवर्ड मांगा जाएगा — यह वह पासवर्ड है जो ServBay MariaDB के
इम्पोर्ट प्रक्रिया SQL फ़ाइल के साइज और जटिलता के अनुसार कुछ समय ले सकती है। टर्मिनल में इस दौरान ज्यादा आउटपुट नहीं दिखेगा, जब तक प्रक्रिया पूरी नहीं होती।
चरण 4: डेटा इम्पोर्ट की पुष्टि करें
इम्पोर्ट पूरा होने के बाद, यह सुनिश्चित करने के लिए जाँच लें कि डेटा सही इम्पोर्ट हुआ है।
- ServBay की MariaDB से कनेक्ट करें:bash
mysql -u root -p -h 127.0.0.1 -P 3306
1root
पासवर्ड डालें।
- डेटाबेस चुनें:sql
USE mydatabase;
1mydatabase
को अपने इम्पोर्ट किए डेटाबेस के नाम से बदलें।
- डेटा जाँचे: कुछ आसान SQL क्वेरी चला कर देख लें कि टेबल्स व डेटा मौजूद है या नहीं:sql
SHOW TABLES; -- सभी टेबल्स देखें SELECT COUNT(*) FROM your_table_name; -- किसी टेबल में कितनी पंक्तियाँ हैं देखें SELECT * FROM your_table_name LIMIT 10; -- किसी टेबल की शुरुआती 10 पंक्तियाँ देखें
1
2
3your_table_name
को अपने असल डेटाबेस की टेबल के नाम से बदलें।
अगर क्वेरियों का परिणाम आपकी अपेक्षा के मुताबिक है, तो डेटा सफलतापूर्वक इम्पोर्ट हो गया है।
संभावित अनुकूलता समस्याओं का समाधान
भले ही MariaDB और MySQL आपस में बहुत अनुकूल हैं, फिर भी कुछ मामलों में आपको कुछ छोटे-मोटे इम्पोर्ट या अनुकूलता संबंधी दिक्कतें आ सकती हैं। कुछ आम समस्याएँ और उनके समाधान यहां दिए हैं:
1. विशेष SQL सिंटैक्स असंगतता
कभी-कभी, कुछ MySQL विशेष SQL सिंटैक्स या फंक्शन MariaDB में समर्थित नहीं होते या उनके व्यवहार में थोड़ा फर्क होता है।
- समाधान: यदि इम्पोर्ट के दौरान सिंटैक्स एरर आये, तो आपको एक्सपोर्ट की गई
mydatabase.sql
फाइल को एडिट करना होगा और गलत SQL स्टेटमेंट्स को सुधारना होगा ताकि वे MariaDB द्वारा सपोर्ट किए जाएं। MariaDB की आधिकारिक डाक्यूमेंटेशन अक्सर इसका विकल्प प्रदान करती है।
2. स्टोरेज इंजन असंगतता
MySQL और MariaDB कई तरह के स्टोरेज इंजन को सपोर्ट करते हैं (जैसे InnoDB, MyISAM, Aria, XtraDB आदि)। अधिकतर इंजन दोनों में समान होते हैं, लेकिन कुछ MySQL-विशिष्ट इंजन (Jaise Archive, Blackhole आदि) MariaDB में उपलब्ध नहीं हो सकते, और कुछ MariaDB-विशिष्ट इंजनों के लिए वही बात लागू है। सबसे ज्यादा इस्तेमाल होने वाला इंजन InnoDB
दोनों में अच्छी तरह समर्थित है।
- समाधान: यदि आपके डेटाबेस में MariaDB द्वारा सपोर्ट न किए गए स्टोरेज इंजन का इस्तेमाल हुआ है, तो इम्पोर्ट के वक्त चेतावनी या एरर आ सकती है। आप
.sql
फाइल में इंजन का नाम बदलकर सपोर्टेड इंजन (जैसेENGINE=InnoDB
) डाल सकते हैं। या इम्पोर्ट के बादALTER TABLE table_name ENGINE = InnoDB;
का उपयोग करके टेबल के इंजन बदलें।
3. यूज़र और परमिशन
mysqldump
से एक्सपोर्ट की गई SQL फाइल में सामान्यतः यूज़र अकाउंट व परमिशन जानकारी नहीं होती। और अगर होती भी है, तो MySQL का यूज़र ऑथेंटिकेशन सिस्टम व परमिशन संग्रहण, MariaDB से थोड़़ा अलग है, इसलिए डायरेक्ट इम्पोर्ट करने में दिक्कतें आ सकती हैं। ServBay की MariaDB डिफ़ॉल्ट रूप से एक root
यूज़र देती है, जिससे आपको एडमिनिस्ट्रेशन और नये यूज़र बनाने का काम करना चाहिए।
- समाधान: डेटा के सफल इम्पोर्ट के बाद, आपको ServBay की MariaDB में आवश्यक नए ऐप्लिकेशन यूज़र फिर से बनाने होंगे और उन्हें परमिशन देनी होगी। इसके लिए यह कमांड्स चलाएँ:sql
-- नया यूज़र बनाएँ (जहां भी ज़रूरत हो, 'your_username', 'localhost', 'your_password' बदलें) CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password'; -- किसी विशेष डेटाबेस के लिए सभी अनुमतियाँ दें GRANT ALL PRIVILEGES ON mydatabase.* TO 'your_username'@'localhost'; -- परमिशन रिफ्रेश करें FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8your_username
,localhost
(localhost
या%
हो सकता है, जैसी आपकी आवश्यकता हो),your_password
औरmydatabase
को अपने अनुसार बदलें।- अगर आप ServBay MariaDB के
root
पासवर्ड भूल गए हों तो ServBay आपको डेटाबेस (MariaDB और PostgreSQL दोनों) काroot
पासवर्ड रीसेट करने की सुविधा देता है — इसके निर्देश ऐप या दस्तावेज़ में देखे जा सकते हैं।
सारांश
मौजूदा MySQL डेटाबेस का डेटा ServBay की MariaDB में इम्पोर्ट करना, आपके डेवेलपमेंट वर्कफ़्लो को ServBay एनवायरनमेंट में माइग्रेट करने का एक महत्वपूर्ण कदम है। इस प्रक्रिया में मुख्यतः mysqldump
से डेटा एक्सपोर्ट, निशानाज मापदंडों की स्थापना के साथ MariaDB में नया डेटाबेस बनाना, mysql
कमांड से SQL फाइल इम्पोर्ट करना और अंतिम रूप से परिणाम को वेरिफाई करना शामिल है। इस गाइड में दिये गये चरणों का अनुसरण कर, और संभावित अनुकूलता समस्याओं के हल जानते हुए, आप अपने डेटाबेस माइग्रेशन को सफलतापूर्वक पूरा कर सकते हैं और ServBay में वेब डेवलपमेंट को पूरी गति के साथ आगे बढ़ा सकते हैं।