ServBay में MySQL/MariaDB को अपग्रेड और माइग्रेट कैसे करें
परिचय
लोकल डेवेलपमेंट के दौरान, आपको अपने प्रोजेक्ट की जरूरतों या नवीनतम फीचर्स एवं सुरक्षा अपडेट्स का लाभ उठाने के लिए ServBay एनवायरनमेंट में MySQL या MariaDB डाटाबेस का डिफॉल्ट वर्शन बदलने की आवश्यकता हो सकती है। यह दस्तावेज़ एक स्पष्ट और विस्तृत चरण-दर-चरण गाइड प्रदान करता है, जिससे आप यह प्रक्रिया सुरक्षित रूप से पूरी कर सकें—इसमें डेटा बैकअप और रिकवरी के महत्वपूर्ण चरण भी शामिल हैं।
उपयोग की परिस्थितियाँ
- नवीनतम वर्शन में अपग्रेड: नए फीचर्स, परफॉर्मेंस सुधार व सुरक्षा फिक्सेस प्राप्त करने के लिए।
- प्रोजेक्ट कम्पैटिबिलिटी टेस्ट: एप्लिकेशन का विभिन्न डाटाबेस वर्शनों पर व्यवहार जांचने के लिए।
- विशिष्ट प्रोजेक्ट आवश्यकता: कुछ प्रोजेक्ट्स में किसी विशेष डाटाबेस वर्शन का इस्तेमाल अनिवार्य हो सकता है।
पूर्व शर्तें
- ServBay पहले से इंस्टॉल और रनिंग होना चाहिए।
- टर्मिनल/कमांड लाइन का बुनियादी ज्ञान।
- वर्तमान डाटाबेस के
root
यूज़र का पासवर्ड पता होना चाहिए। - नए वर्शन की इंस्टॉलेशन और डाटाबेस बैकअप के लिए पर्याप्त डिस्क स्पेस।
स्टेप-बाय-स्टेप प्रक्रिया
यहाँ उदाहरण के तौर पर MariaDB 10.11 को MariaDB 11.3 में माइग्रेट करने की प्रोसेस बताई गई है। MySQL वर्शन बदलने के लिए भी लगभग यही स्टेप्स लागू होते हैं।
1. पुराने वर्शन का डाटाबेस बैकअप करें
किसी भी वर्शन बदलाव से पहले, कड़े रूप से अनुशंसा की जाती है कि वर्तमान डाटाबेस का पूरा बैकअप लें। इससे डेटा लॉस को रोका जा सकता है और, कम्पैटिबिलिटी इश्यू आने पर रिकवरी पॉइंट मिल जाता है।
डाटाबेस बैकअप का मानक तरीका mysqldump
टूल का उपयोग है। टर्मिनल खोलें और नीचे वाला कमांड चलाएँ:
bash
mysqldump -uroot -p --all-databases --opt > mariadb_backup.sql
1
-u root
: डाटाबेस सेroot
यूज़र द्वारा कनेक्ट करना।-p
:root
यूज़र का पासवर्ड डालने के लिए।--all-databases
: सभी डाटाबेस का बैकअप लेता है।--opt
: इसमें कई जरूरी ऑप्शन्स होते हैं, जैसे--add-drop-table
,--add-locks
,--create-command
,--disable-keys
,--extended-insert
,--lock-tables
,--quick
,--set-charset
आदि, जिससे बैकअप फाइल एफिशिएंट और पोर्टेबल बनती है।> mariadb_backup.sql
: बैकअप फाइल को वर्तमान वर्किंग डायरेक्टरी (आमतौर पर~
, यानी होम डायरेक्टरी) मेंmariadb_backup.sql
नाम से सेव करना।
कमांड चलाने के बाद MariaDB के root
पासवर्ड डालें। प्रोसेस पूरी होने का इंतजार करें—आउटपुट नहीं आएगा, बस कमांड प्रॉम्प्ट लौट आएगा। फाइल के साइज़ की जांच करें, यह खाली न हो।
2. नया वर्शन इंस्टॉल करें
ServBay एप्लिकेशन खोलें। पैकेज (Packages) टैब पर जाएँ। डाटाबेस सेक्शन में MariaDB या MySQL खोजें, इच्छित नया वर्शन (जैसे MariaDB 11.3) चुनें और इंस्टॉल बटन पर क्लिक करें।
ServBay द्वारा नया वर्शन डाउनलोड व इंस्टॉल होने दें।
3. पुराने वर्शन के डाटाबेस को डिसेबल करें
नया वर्शन इंस्टॉल होने के बाद, वापस पैकेज (Packages) टैब पर जाएँ। वहाँ पुराने वर्शन (जैसे MariaDB 10.11) को देखें। उसके स्टेटस इंडिकेटर (अक्सर हरा रंग का गोल आइकन) पर क्लिक कर उसे डिसेबल करें। इंडिकेटर अब ग्रे होना चाहिए।
4. नया वर्शन सक्रिय करें
पुराना वर्शन डिसेबल होने के बाद, अभी-अभी इंस्टॉल किए नए डाटाबेस (जैसे MariaDB 11.3) को खोजें। उसके स्टेटस इंडिकेटर पर क्लिक कर उसे सक्रिय करें। अब इंडिकेटर हरा होगा—यह सफलतापूर्वक स्टार्ट हो गया।
5. नए वर्शन को डिफॉल्ट वर्शन के रूप में सेट करें
सिर्फ नया वर्शन एक्टिव करना और पुराने को डिसेबल करना ही काफी नहीं है; आपको स्पष्ट रूप से ServBay की सेटिंग्स में डिफॉल्ट डाटाबेस वर्शन भी सेट करना होता है।
ServBay एप्लिकेशन के सेटिंग्स (Settings) पैनल में जाएँ। डाटाबेस सेटिंग्स में, MySQL या MariaDB की डिफॉल्ट वर्शन का विकल्प ढ़ूँढ़ें। ड्रॉपडाउन से नया सक्रिय वर्शन (जैसे MariaDB 11.3) चुनें।
Apply (आवेदन करें) बटन दबाकर परिवर्तन सेव करें।
6. जांचें कि डिफॉल्ट वर्शन सफलता से सेट हुआ या नहीं
फिर से पैकेज (Packages) पैनल में जाएँ। आप देखेंगे कि नए वर्शन (जैसे MariaDB 11.3) के आगे स्पष्ट रूप से इसका डिफॉल्ट होने का टैग दिख रहा है।
7. कमांड लाइन पर डिफॉल्ट वर्शन सत्यापित करें
टर्मिनल खोलें और यह कमांड चलाएँ, जिससे डाटाबेस वर्शन की पुष्टि की जा सके:
bash
mysql -V
1
आउटपुट में आपके द्वारा सेट किया गया नया वर्शन दिखना चाहिए, जैसे mysql Ver 11.3.2-MariaDB ...
।
8. डाटाबेस बैकअप को पुनर्स्थापित करें
अब, जो बैकअप आपने लिया था, उसे नए वर्शन वाले डाटाबेस में रिस्टोर करें। टर्मिनल में यह कमांड चलाएँ:
bash
mysql -uroot -p < mariadb_backup.sql
1
-u root
:root
यूज़र से कनेक्ट करें।-p
: पासवर्ड डालने के लिए।< mariadb_backup.sql
: बैकअप फाइल को इनपुट के रूप में mysql क्लाइंट में दें, जिससे SQL पुनर्स्थापना हो जाएगी।
कमांड चलाने के बाद, नए वर्शन का root
पासवर्ड डालें (आमतौर पर यह वही होता है; यदि नया वर्शन इंस्टॉल करते समय बदला है, तो नया पासवर्ड डालें)। पुनर्स्थापना प्रक्रिया में समय लग सकता है—यह बैकअप साइज पर निर्भर करता है।
नोट: पुनर्स्थापना के दौरान टर्मिनल में कुछ चेतावनियाँ या त्रुटियाँ आ सकती हैं, खासकर यदि नया व पुराना वर्शन में कम्पैटिबिलिटी का अंतर है या बैकअप फाइल में ऐसे फीचर्स हैं जो पुराने वर्शन के लिए खास थे (जैसे कुछ स्टोरेज इंजन, फंक्शन्स या DEFINER
क्लॉज)। आमतौर पर, सामान्य वेब डेवेलपमेंट एप्लीकेशनों के लिए इन्हें अनदेखा किया जा सकता है, लेकिन प्रोडक्शन या जटिल ऐप्स के लिए इन्हें सावधानी से परखें और आवश्यकतानुसार सुधारें।
9. सुनिश्चित करें कि डाटाबेस पूरी तरह से रिकवर हुआ है
रिकवरी के बाद, डाटाबेस में लॉगइन करें और डेटा चेक करें:
bash
mysql -uroot -p
1
पासवर्ड डालने के बाद, MariaDB/MySQL कमांड लाइन में ये कमांड चलाएँ:
sql
SHOW DATABASES;
1
अब, आप किसी भी डेटाबेस या टेबल की डिटेल चेक कर सकते हैं, क्वेरीज रन कर सकते हैं ताकि यह निश्चित किया जा सके कि डेटा सही-सलामत है और आपकी एप्लिकेशन सामान्य रूप में डाटाबेस से कनेक्ट व एक्सेस कर पा रही है।
महत्वपूर्ण बातें
- डेटा कम्पैटिबिलिटी: हालाँकि MySQL/MariaDB में ज्यादातर कम्पैटिबिलिटी रहती है, लेकिन मेजर वर्शन अपग्रेड (जैसे 5.7 से 8.0 या MariaDB 10.x से 11.x) में अंतर हो सकते हैं। हमेशा ऑफिसियल डॉक्यूमेंटेशन में वर्शन कम्पैटिबिलिटी नोट्स पहले पढ़ें।
- कॉन्फ़िगरेशन फाइलें: ServBay प्रत्येक डाटाबेस वर्शन के लिए अलग कॉन्फ़िगरेशन फाइल (जैसे
my.cnf
याmy.ini
) रखता है। यदि आपने पुराने वर्शन की फाइल्स में बदलाब किया था, तो आपको ये चेंज नए वर्शन में मैन्युअली माइग्रेट या मर्ज करने होंगे। ये फाइलें आमतौर पर ServBay इंस्टॉल डिरेक्टरी में उपयुक्त पथ (जैसे/Applications/ServBay/etc/mysql/वर्शन/my.cnf
) पर होती हैं। - परफॉर्मेंस: नया डाटाबेस वर्शन अलग डिफॉल्ट सेटिंग्स या इंटरनल ऑप्टिमाइजेशन ला सकता है। स्विचिंग के बाद अपने एप्लिकेशन का परफॉर्मेंस टेस्ट करें और जरूरत पड़े तो कॉन्फ़िगration में ट्यूनिंग करें।
- पोर्ट: ServBay में डिफ़ॉल्ट रूप से सभी वर्शन स्टैन्डर्ड पोर्ट (जैसे 3306) पर चलते हैं। वर्शन स्विच से पोर्ट नहीं बदलता। यदि एक साथ मल्टीपल वर्शन चलाने हैं और अलग पोर्ट्स चाहिए, तो आप ट्यूनिंग मैन्युअली करें।
अक्सर पूछे जाने वाले सवाल (FAQ)
- प्र. नया डाटाबेस वर्शन इंस्टॉल होने पर स्टार्ट नहीं हो रहा है, क्या करें?
- उत्तर: ServBay पैकेज पैनल के स्टेटस इंडिकेटर और लॉग फाइल को देखें। डाटाबेस लॉग्स आमतौर पर ServBay इंस्टॉल फोल्डर में
var/log/mysql
याvar/log/mariadb
में मिलेंगे। इनमें स्टार्टअप फेल के कारण दिख सकते हैं—जैसे कॉन्फ़िगरेशन गलती, पोर्ट कन्फ्लिक्ट या परमिशन इश्यू।
- उत्तर: ServBay पैकेज पैनल के स्टेटस इंडिकेटर और लॉग फाइल को देखें। डाटाबेस लॉग्स आमतौर पर ServBay इंस्टॉल फोल्डर में
- प्र. डाटाबेस रिकवरी के दौरान एरर आ रही है, क्या करें?
- उत्तर: एरर मेसेज ध्यान से पढ़ें। अक्सर प्रॉब्लम्स: कैरेक्टर सेट (उदाहरण के लिए
mysqldump
में--default-character-set=utf8mb4
जोड़ सकते हैं),DEFINER
रिलेटेड परमिशन (बैकअप फाइल मेंDEFINER
क्लॉज ढूंढकर बदल सकते हैं), या बैकअप फाइल का करप्शन हो सकते हैं। बड़े डाटाबेस के लिए आपmydumper
/myloader
जैसे टूल्स उपयोग करें।
- उत्तर: एरर मेसेज ध्यान से पढ़ें। अक्सर प्रॉब्लम्स: कैरेक्टर सेट (उदाहरण के लिए
- प्र. बिना बैकअप किए वर्शन स्विच करना क्या संभव है?
- उत्तर: बिलकुल भी अनुशंसित नहीं है, खासकर मेजर वर्शन अपग्रेड में। सीधे स्विच से डेटा स्ट्रक्चर कम्पैटिबिलिटी, डेटा करप्शन या लॉस हो सकता है। बैकअप-एवं-रिकवरी सबसे भरोसेमंद तरीका है।
- प्र. वर्शन बदलने के बाद मेरी वेबसाइट या ऐप कनेक्ट नहीं हो पा रही, समाधान?
- उत्तर: चेक करें कि ServBay में नया वर्शन स्टार्ट और डिफॉल्ट है। आपकी ऐप्लिकेशन का कनेक्शन सेटिंग्स (होस्टनेम — अक्सर
127.0.0.1
याlocalhost
, पोर्ट — डिफॉल्ट 3306, यूज़रनेम और पासवर्ड) वेरिफाइ करें।
- उत्तर: चेक करें कि ServBay में नया वर्शन स्टार्ट और डिफॉल्ट है। आपकी ऐप्लिकेशन का कनेक्शन सेटिंग्स (होस्टनेम — अक्सर
सारांश
इस दस्तावेज़ के चरणों का पालन करके, आप ServBay एनवायरनमेंट में MySQL या MariaDB का डिफॉल्ट वर्शन सुरक्षित और आसानी से स्विच कर सकते हैं। पूरी प्रक्रिया में प्रमुख बिंदु हैं: डेटा बैकअप, नए वर्शन की इंस्टॉलेशन व एक्टिवेशन, ServBay सेटिंग्स में डिफॉल्ट वर्शन सेट करना, तथा डेटा रिकवरी। हमेशा डेटा बैकअप को प्राथमिकता दें और वर्शन स्विचिंग के बाद डेटा इंटीग्रिटी व एप्लिकेशन फंक्शनलिटी को अच्छी तरह जांचें।