ServBay डेटाबेस फ़ाइल प्रबंधन और माइग्रेशन गाइड
ServBay एक शक्तिशाली लोकल वेब विकास वातावरण है, जिसमें कई लोकप्रिय डेटाबेस प्रबंधन सिस्टम एकीकृत हैं, और इनके डेटा फ़ाइलों का व्यवस्थित रूप से प्रबंधन किया जाता है। ServBay की डिफ़ॉल्ट डेटाबेस फ़ाइल संरचना को समझना, डेवलपर के लिए बैकअप, पुनर्स्थापन और माइग्रेशन के दौरान बहुत महत्वपूर्ण है।
यह लेख ServBay की डिफ़ॉल्ट डेटाबेस फ़ाइल संरचना की विस्तार से जानकारी देता है एवं डेटाबेस फ़ाइल प्रबंधन और विभिन्न वातावरणों के बीच माइग्रेशन के लिए कमांडलाइन टूल के इस्तेमाल के तरीके बताता है।
TIP
ServBay में डेटा बैकअप और पुनर्स्थापन की सुविधा उपलब्ध है। आप MySQL, MariaDB, PostgreSQL डेटाबेस का बैकअप अपने आप या मैन्युअली ले सकते हैं। अधिक जानकारी के लिए बैकअप और पुनर्स्थापन देखें।
ServBay की डिफ़ॉल्ट डेटाबेस फ़ाइल भंडारण संरचना
अलग-अलग डेटाबेस संस्करणों का डेटा प्रबंधित एवं आइसोलेट करने की सुविधा के लिए, ServBay सभी डेटाबेस की डेटा फ़ाइलें /Applications/ServBay/db
फोल्डर में एकीकृत करता है। इस डायरेक्टरी में डेटाबेस प्रकार के आधार पर वर्गीकरण किया गया है, और प्रत्येक प्रकार के भीतर प्रमुख संस्करण संख्या (major version) से और व्यवस्थित किया गया है।
नीचे /Applications/ServBay/db
डायरेक्टरी की एक विशिष्ट संरचना का उदाहरण है:
/Applications/ServBay/db
├── mysql
│ ├── 8.0
│ └── 8.1
├── mariadb
│ ├── 10.10
│ ├── 10.11
│ ├── 10.5
│ ├── 10.6
│ ├── 10.7
│ ├── 10.8
│ ├── 10.9
│ ├── 11.0
│ ├── 11.1
│ ├── 11.2
│ └── 11.3
├── postgresql
│ ├── 10
│ ├── 11
│ ├── 12
│ ├── 13
│ ├── 14
│ ├── 15
│ └── 16
└── redis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
संरचना का विवरण
/Applications/ServBay/db
: यह ServBay में सभी डेटाबेस फ़ाइलों के लिए मुख्य डाइरेक्टरी है।mysql
: यहां MySQL डेटाबेस की डेटा फ़ाइलें होती हैं। सबफ़ोल्डर मुख्य वर्शन नंबर (जैसे8.0
,8.1
) के अनुसार वर्गीकृत हैं।mariadb
: MariaDB डेटाबेस फ़ाइलों के लिए। सबफ़ोल्डर मुख्य वर्शन नंबर जैसे10.11
,11.3
के अनुसार।postgresql
: PostgreSQL डेटाबेस फ़ाइलों के लिए। सबफ़ोल्डर मुख्य वर्शन नंबर (15
,16
) के अनुसार।redis
: Redis की परसिस्टेंट फ़ाइल, आमतौर परdump.rdb
।
इस संरचना का सबसे बड़ा फायदा है कि आप एक साथ एक ही डेटाबेस के कई बड़े संस्करण ServBay में इंस्टॉल व रन कर सकते हैं, और उनके डेटा अलग-अलग रहने से एक-दूसरे को प्रभावित नहीं करते।
डेटाबेस फ़ाइल प्रबंधन
लोकल विकास के दौरान, अक्सर आपको अपने डेटाबेस का बैकअप, पुनर्स्थापन या माइग्रेशन करना पड़ता है। निम्नलिखित तरीकों में विभिन्न डेटाबेस के मानक कमांडलाइन टूल्स का उपयोग दर्शाया गया है। ध्यान दें कि ये ऑपरेशन आमतौर पर ServBay के टर्मिनल एनवायरनमेंट के माध्यम से या सबंधित टूल्स के PATH में ऐड हो के हुए करने चाहिए।
डेटाबेस का बैकअप लेना
नियमित बैकअप, डेटा सुरक्षा सुनिश्चित करने का प्रमुख तरीका है। यहां ServBay में विभिन्न डेटाबेस के बैकअप के उदाहरण दिए गए हैं।
MySQL बैकअप
MySQL डेटाबेस का बैकअप लेने के लिए mysqldump
टूल सबसे मानक तरीका है।
bash
# ServBay द्वारा प्रदान टर्मिनल एनवायरनमेंट में जाएं या PATH में ServBay का bin डायरेक्टरी ऐड करें
# उदाहरण: export PATH="/Applications/ServBay/bin:$PATH"
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
4
2
3
4
your_username
: अपने डेटाबेस का यूजरनेम लिखें।your_database
: उस डेटाबेस का नाम जिसे बैकअप करना है।/Applications/ServBay/backup/your_database.sql
: बैकअप फ़ाइल को सेव करने का रास्ता और नाम दर्ज करें। सलाह दी जाती है कि बैकअप ServBay डायरेक्टरी के बाहर जैसे यूजर डायरेक्टरी में रखें।
MariaDB बैकअप
MariaDB का बैकअप MySQL की तरह mysqldump
से ही लिया जाता है।
bash
# ServBay द्वारा प्रदान टर्मिनल एनवायरनमेंट में जाएं या PATH में ServBay का bin डायरेक्टरी ऐड करें
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- पैरामीटर वही हैं, जैसा ऊपर बताया गया है।
PostgreSQL बैकअप
PostgreSQL डेटाबेस का बैकअप pg_dump
टूल से लिया जाता है। ServBay में यह सामान्यतः Unix Domain Socket (/Applications/ServBay/tmp
) के जरिये जुड़ा होता है, इसलिए कमांड में -h /Applications/ServBay/tmp
शामिल करना जरूरी है।
bash
# ServBay द्वारा प्रदान टर्मिनल एनवायरनमेंट में जाएं या PATH में ServBay का bin डायरेक्टरी ऐड करें
pg_dump -h /Applications/ServBay/tmp -U your_username -d your_database -F c -b -v -f /Applications/ServBay/backup/your_database.dump
1
2
3
2
3
-h /Applications/ServBay/tmp
: पोस्टग्रेएसक्यूएल सर्वर का सॉकेट फाइल पथ।-U your_username
: अपना डेाटाबेस यूजरनेम।-d your_database
: अपना डेटाबेस नाम।-F c
: आउटपुट फॉर्मेट कस्टम आर्काइव (अनुशंसित)।-b
: ब्लॉब्स शामिल करें।-v
: विस्तृत आउटपुट।-f /Applications/ServBay/backup/your_database.dump
: बैकअप फ़ाइल को सेव करने का रास्ता/नाम।
Redis बैकअप
Redis का बैकअप अक्सर इसकी परसिस्टेंट फाइल dump.rdb
की कॉपी बनाकर लिया जाता है।
bash
# ServBay द्वारा प्रदान टर्मिनल एनवायरनमेंट में जाएं
# सुनिश्चित करें कि Redis सेवा चालू है या ऑटोमैटिक सेव (BGSAVE) कॉन्फ़िगर है
cp /Applications/ServBay/db/redis/dump.rdb /Applications/ServBay/backup/dump.rdb
1
2
3
4
2
3
4
/Applications/ServBay/db/redis/dump.rdb
: Redis का डिफ़ॉल्ट परसिस्टेंट फाइल पथ।/Applications/ServBay/backup/dump.rdb
: जहां पर आप बैकअप सेव करना चाहें।
डेटाबेस पुनर्स्थापन
डाटा लॉस या पूर्व स्थिति में लौटने हेतु आप बैकअप से पुनर्स्थापन कर सकते हैं।
MySQL पुनर्स्थापन
MySQL के बैकअप को पुनर्स्थापित करने के लिए mysql
क्लाइंट टूल का उपयोग करें।
bash
# ServBay द्वारा प्रदान टर्मिनल एनवायरनमेंट में जाएं
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
your_username
: अपना डेटाबेस यूजरनेम।your_database
: लक्ष्य डेटाबेस का नाम (पहले से बना होना चाहिए)।/Applications/ServBay/backup/your_database.sql
: बैकअप फाइल का राह।
MariaDB पुनर्स्थापन
MariaDB का पुनर्स्थापन MySQL के जैसा ही है, mysql
क्लाइंट से।
bash
# ServBay द्वारा प्रदान टर्मिनल एनवायरनमेंट में जाएं
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
1
2
3
2
3
- पैरामीटर वही हैं, जैसा ऊपर बताया।
PostgreSQL पुनर्स्थापन
PostgreSQL की कस्टम फ़ॉर्मेट बैकअप फ़ाइल को पुनर्स्थापित करने के लिए pg_restore
टूल इस्तेमाल करें, और -h /Applications/ServBay/tmp
देना जरूरी है।
bash
# ServBay द्वारा प्रदान टर्मिनल एनवायरनमेंट में जाएं
pg_restore -h /Applications/ServBay/tmp -U your_username -d your_database -v /Applications/ServBay/backup/your_database.dump
1
2
3
2
3
-h /Applications/ServBay/tmp
: पोस्टग्रेएसक्यूएल सॉकेट फाइल पथ।-U your_username
: डेटाबेस यूजरनेम।-d your_database
: लक्ष्य डेटाबेस (पहले बनाई गई)।-v
: विस्तृत आउटपुट।/Applications/ServBay/backup/your_database.dump
: बैकअप फाइल का राह।
Redis पुनर्स्थापन
Redis के पुनर्स्थापन के लिए बैकअप dump.rdb
फाइल Redis की डेटा डायरेक्ट्री में कॉपी करें। महत्वपूर्ण: ऐसा करने से पहले Redis सेवा बंद करें।
bash
# ServBay द्वारा प्रदान टर्मिनल एनवायरनमेंट में जाएं
# ServBay में Redis सेवा बंद करें
# बैकअप फाइल कॉपी करें
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# ServBay में Redis सेवा चालू करें
1
2
3
4
5
2
3
4
5
/Applications/ServBay/backup/dump.rdb
: बैकअप फाइल का रास्ता।/Applications/ServBay/db/redis/dump.rdb
: Redis का डिफ़ॉल्ट परसिस्टेंट फाइल पथ।
डेटाबेस माइग्रेशन
डेटाबेस माइग्रेशन यानी एक वातावरण (जैसे किसी दूसरे ServBay, रिमोट सर्वर या लोकल सिस्टम) से डेटाबेस को दूसरे वातावरण में स्थानांतरित करना। सामान्यत: इसमें सोर्स वातावरण में एक्सपोर्ट और टारगेट में इम्पोर्ट किया जाता है।
MySQL माइग्रेशन
MySQL माइग्रेशन डेवलपर्स के लिए सामान्य स्थिति है
सोर्स वातावरण में डेटाबेस एक्सपोर्ट करें:
bash# सोर्स टर्मिनल में चलाएं mysqldump -u your_source_username -p your_database > your_database.sql
1
2your_source_username
: सोर्स डेटाबेस यूजर।your_database
: माइग्रेट करने वाला डेटाबेस।your_database.sql
: एक्सपोर्टेड SQL फाइल का नाम।
SQL फाइल टारगेट में ट्रांसफर करें:
scp
या अन्य टूल्स सेyour_database.sql
को टारगेट ServBay पर लें (जैसे/Applications/ServBay/backup/
)।टारगेट ServBay में डेटाबेस बनाएं:
bash# टारगेट टर्मिनल में चलाएं mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: टारगेट यूजर नाम।your_database
: नया डेटाबेस (सोर्स के नाम जैसा)।
टारगेट ServBay में डेटाबेस इम्पोर्ट करें:
bash# टारगेट टर्मिनल में चलाएं mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.sql
: टारगेट में SQL फाइल का सही पथ।
MariaDB माइग्रेशन
MariaDB माइग्रेशन पूरे तरीके से MySQL जैसा ही है, क्यूँकि दोनों के टूल्स और फ़ॉर्मेट्स एक से हैं।
- सोर्स में एक्सपोर्ट करें:bash
# सोर्स टर्मिनल में चलाएं mysqldump -u your_source_username -p your_database > your_database.sql
1
2 - SQL फाइल ट्रांसफर करें।
- टारगेट में डेटाबेस बनाएं:bash
# टारगेट टर्मिनल में चलाएं mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2 - डेटाबेस इम्पोर्ट करें:bash
# टारगेट टर्मिनल में चलाएं mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2
PostgreSQL माइग्रेशन
PostgreSQL माइग्रेशन के लिए pg_dump
और pg_restore
का इस्तेमाल होता है, और ServBay के सॉकेट पथ पर ध्यान दें।
सोर्स में डेटाबेस एक्सपोर्ट करें:
bash# सोर्स टर्मिनल में चलाएं # यदि सोर्स ServBay ही है pg_dump -h /Applications/ServBay/tmp -U your_source_username -d your_database -F c -b -v -f your_database.dump # अन्य सिस्टम के लिए, उसी अनुसार पैरामीटर एडजस्ट करें
1
2
3
4your_source_username
: सोर्स यूजर।your_database
: माइग्रेट करने वाला डेटाबेस।your_database.dump
: एक्सपोर्टेड फाइल।
बैकअप फाइल टारगेट ServBay पर ट्रांसफर करें।
टारगेट में डेटाबेस बनाएं:
bash# टारगेट टर्मिनल में चलाएं # डिफॉल्ट postgres डेटाबेस से नए डेटाबेस को क्रिएट करें psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"
1
2
3your_target_username
: टारगेट यूजर।your_database
: नया डेटाबेस नाम।
डेटाबेस इम्पोर्ट करें:
bash# टारगेट टर्मिनल में चलाएं pg_restore -h /Applications/ServBay/tmp -U your_target_username -d your_database -v /path/to/your_database.dump
1
2/path/to/your_database.dump
: टारगेट में बैकअप फाइल का मार्ग।
Redis माइग्रेशन
Redis का माइग्रेशन कान्ही बार सीधा dump.rdb
फाइल कॉपी करने से हो जाता है।
सोर्स में
dump.rdb
फाइल प्राप्त करें:bash# सोर्स टर्मिनल में चलाएं # Redis सेवा बंद हो या BGSAVE पूरा हो तब करें cp /path/to/source/redis/dump.rdb ./dump.rdb
1
2
3dump.rdb
फाइल को टारगेट ServBay के Redis डेटा डायरेक्ट्री में भेजें:bash# सोर्स या मिडल सर्वर पर चलाएं scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: टारगेट सर्वर का पता या नाम।- महत्वपूर्ण: टारगेट पर ServBay का Redis बंद कर ही फाइल कॉपी करें।
टारगेट ServBay में Redis सेवा चालू करें: इसके बाद खुद नयी
dump.rdb
फाइल लोड हो जाएगी।
ध्यान देने योग्य बातें
- सेवा बंद करें: किसी भी डेटाबेस की फाइल्स को सीधा कॉपी या मूव करने से पहले (खासकर MySQL/MariaDB/PostgreSQL), संबंधित सेवा को ServBay के GUI या CLI से पहले पूरी तरह बंद करें। चलती सेवा की फाइल कॉपी करने से डाटा करप्ट या असंगत हो सकता है। Redis का भी
dump.rdb
फाइल कॉपी करते समय सर्वर बंद हो। - परमिशन समस्याएं: फाइल कॉपी, मूव या इम्पोर्ट करते वक्त प्रयुक्त यूजर को पर्याप्त परमिशन होनी चाहिए।
- फाइल पथ: ServBay का इंस्टॉल पथ (
/Applications/ServBay
डिफ़ॉल्ट) या डेटाबेस फाइल का सही पथ ध्यान से जांचें, विशेष रूप से विभिन्न वर्जनों के सबफोल्डर के लिए। - यूजर व परमिशन: माइग्रेशन के बाद जरूर जांच करें कि डेटाबेस यूजर, परमिशन और कॉन्फ़िगरेशन नई व्यवस्था के अनुसार अपडेट है या नहीं।
- ServBay में इनबिल्ट बैकअप: GUI द्वारा सेटिंग्स, वेबसाइट फाइल्स, डेटाबेस व SSL सर्टिफिकेट का बैकअप व पुनर्स्थापन भी संभव है, ये तरीका मैन्युअल प्रबंधन के विकल्प या पूरक के रूप में इस्तेमाल किया जा सकता है।
निष्कर्ष
ServBay अपने मानकीकृत फाइल संरचना द्वारा डेवलपर्स को आसान, समझ में आने वाला डेटाबेस फाइल प्रबंधन देता है। इस लेख में MySQL, MariaDB, PostgreSQL एवं Redis की फाइल लोकेशन और बैकअप, पुनर्स्थापन, माइग्रेशन के लिए मानक कमांडलाइन विधियां दी गई हैं। इन कौशलों के साथ आप अपने लोकल डेवलपमेंट डेटाबेस को सुरक्षित व प्रभावी ढंग से प्रबंधित कर सकते हैं, तथा अलग-अलग वातावरण में प्रोजेक्ट काम से काम समय में स्थानांतरित कर सकते हैं। ServBay की अन्य अतिरिक्त सुविधाओं (जैसे इनबिल्ट बैकअप) के साथ मिलाकर, आपका डाटा प्रबंधन और विकास क्षमता दोनों तेजी से बढ़ेगी।