ServBay डेटाबेस फाइल प्रबंधन और माइग्रेशन गाइड
ServBay एक शक्तिशाली लोकल वेब डिवेलपमेंट वातावरण है, जो कई लोकप्रिय डेटाबेस मैनेजमेंट सिस्टम्स को इंटीग्रेट करता है और उनके डेटा फाइल्स को व्यवस्थित तरीके से प्रबंधित करता है। ServBay के डिफ़ॉल्ट डेटाबेस फाइल संरचना को समझना, डिवेलपर्स के लिए डेटा बैकअप, रिकवरी और माइग्रेशन में बेहद जरूरी है।
यह लेख ServBay की डिफ़ॉल्ट डेटाबेस फाइल संरचना का विस्तार से परिचय देता है और विभिन्न वातावरणों के बीच के माइग्रेशन एवं फाइल प्रबंधन के लिए स्टैंडर्ड कमांड लाइन टूल्स के उपयोग की दिशा निर्देश देता है।
TIP
ServBay में डेटा बैकअप और रिकवरी की सुविधा उपलब्ध है; आप MySQL, MariaDB, PostgreSQL डेटाबेस का बैकअप स्वचालित या मैन्युअली ले सकते हैं। अधिक जानकारी के लिए बैकअप और रिकवरी देखें।
ServBay की डिफ़ॉल्ट डेटाबेस फाइल संरचना
अलग-अलग डेटाबेस के वर्शन की डेटा पृथक्करण और प्रबंधन को आसान बनाने के लिए, ServBay सभी डेटाबेस के डेटा फाइल्स को /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
└── redis1
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 के टर्मिनल वातावरण या सही तरह से कॉन्फिगरड एनवायरनमेंट वेरिएबल्स जरूरी होते हैं ताकि क्लाइंट टूल्स डायरेक्टली इस्तेमाल किए जा सकें।
डेटाबेस बैकअप
नियमित रूप से डेटा बैकअप लेना डेटा सुरक्षा का सबसे अहम तरीका है। नीचे 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.sql1
2
3
4
2
3
4
your_username: अपने डेटाबेस यूज़रनाम से बदलें।your_database: बैकअप लेने वाला डेटाबेस नाम यहां लिखें।/Applications/ServBay/backup/your_database.sql: फाइल का इच्छित स्थान और नाम (सलाह: बैकअप फाइल को यूज़र डायरेक्टरी आदि में रखें, ServBay के बाहर)।
MariaDB बैकअप
MariaDB में भी उपरोक्त तरीके से mysqldump का उपयोग किया जाता है।
bash
# ServBay के टर्मिनल वातावरण में जाएं या PATH में ServBay का bin डायरेक्टरी जोड़ें
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql1
2
3
2
3
- पैरामीटर वही जो ऊपर बताया गया है।
PostgreSQL बैकअप
PostgreSQL का बैकअप pg_dump से होता है। ध्यान दें, ServBay वातावरण में PostgreSQL आमतौर पर Unix Domain Socket (/Applications/ServBay/tmp) से जुड़ता है, इसलिए -h के साथ पाथ देना ज़रूरी है।
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.dump1
2
3
2
3
- कनेक्शन पैरामीटर: PostgreSQL सर्वर से जुड़ने की विधि।
- macOS:
-h /Applications/ServBay/tmp(Unix Domain Socket) - Windows:
-h localhost -p 5432(TCP)
- macOS:
-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.rdb1
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.sql1
2
3
2
3
your_username: अपने डेटाबेस यूज़रनाम।your_database: रिकवर होने वाला डेटाबेस (अक्सर पहले से बनाना पड़ेगा)।/Applications/ServBay/backup/your_database.sql: बैकअप फाइल पाथ।
MariaDB रिकवरी
MariaDB भी ठीक MySQL की तरह रिकवर होता है:
bash
# ServBay के टर्मिनल वातावरण में जाएं
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql1
2
3
2
3
- पैरामीटर वही जैसा ऊपर।
PostgreSQL रिकवरी
PostgreSQL कस्टम बैकअप फाइल के लिए pg_restore यूज़ करें; साथ में socket पाथ देना आवश्यक।
bash
# ServBay के टर्मिनल वातावरण में जाएं
pg_restore -h /Applications/ServBay/tmp -U your_username -d your_database -v /Applications/ServBay/backup/your_database.dump1
2
3
2
3
- कनेक्शन पैरामीटर:
- macOS:
-h /Applications/ServBay/tmp - Windows:
-h localhost -p 5432
- macOS:
-U your_username: डेटाबेस यूज़रनाम।-d your_database: रिकवर होने वाला डेटाबेस (आम तौर पर पहले बनाएं)।-v: विस्तृत आउटपुट।- बैकअप फाइल पाथ:
- macOS:
/Applications/ServBay/backup/your_database.dump - Windows:
C:\ServBay\backup\your_database.dump
- macOS:
Redis रिकवरी
Redis की बैकअप फाइल को पुन: स्थापित करने हेतु dump.rdb फाइल रिप्लेस करना होता है। ध्यान दें: इस प्रक्रिया से पहले Redis सर्विस बंद करें।
bash
# ServBay के टर्मिनल वातावरण में जाएं
# Redis सेवा बंद करें
# बैकअप फाइल कॉपी करें
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# 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.sql1
2your_source_username: स्रोत डेटाबेस यूज़रनाम।your_database: माइग्रेट करते डेटाबेस का नाम।your_database.sql: निर्यात की गई SQL फाइल।
निर्यात फाइल को गंतव्य वातावरण तक पहुंचाएं:
scpया अन्य फाइल ट्रांसफर टूल इस्तेमाल करें, जैसे/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.sql1
2/path/to/your_database.sql: SQL फाइल का गंतव्य पथ।
MariaDB माइग्रेशन
MariaDB माइग्रेशन के चरण MySQL जैसे ही हैं।
- स्रोत वातावरण से डेटाबेस निर्यात करें:bash
# स्रोत टर्मिनल पर कमांड चलाएं mysqldump -u your_source_username -p your_database > your_database.sql1
2 - फाइल को गंतव्य वातावरण तक पहुंचाएं।
- गंतव्य ServBay में नया डेटाबेस बनाएं: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.sql1
2
PostgreSQL माइग्रेशन
PostgreSQL माइग्रेशन में pg_dump और pg_restore टूल्स यूज़ होते हैं; ध्यान दें, ServBay में socket पथ देना जरूरी है।
स्रोत वातावरण से डेटाबेस निर्यात करें:
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 में ट्रांसफर करें।
गंतव्य ServBay में नया डेटाबेस बनाएं:
bash# गंतव्य टर्मिनल में चलाएं psql -h /Applications/ServBay/tmp -U your_target_username -d postgres -c "CREATE DATABASE your_database;"1
2your_target_username: गंतव्य डेटाबेस यूज़रनाम।your_database: नया डेटाबेस नाम।
गंतव्य में बैकअप आयात करें:
bash# गंतव्य टर्मिनल में चलाएं pg_restore -h /Applications/ServBay/tmp -U your_target_username -d your_database -v /path/to/your_database.dump1
2/path/to/your_database.dump: बैकअप फाइल का गंतव्य पथ।
Redis माइग्रेशन
Redis माइग्रेशन आमतौर पर dump.rdb फाइल को डायरेक्ट कॉपी करना है।
स्रोत से
dump.rdbपाएं:bash# स्रोत टर्मिनल पर कमांड चलाएं # Redis बंद करें या BGSAVE पूर्ण करें cp /path/to/source/redis/dump.rdb ./dump.rdb1
2
3गंतव्य ServBay के Redis डायरेक्टरी में फाइल ट्रांसफर करें:
bash# स्रोत या किसी अन्य सर्वर पर कमांड चलाएं scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb1
2your_target_server: गंतव्य ServBay का सर्वर एड्रेस या होस्टनैम।- महत्वपूर्ण: गंतव्य पर कॉपी करने से पहले Redis सेवा बंद रखें।
गंतव्य पर Redis सेवा शुरू करें: नया
dump.rdbलोड हो जाएगा।
महत्वपूर्ण बातें
- सेवा बंद करें: डेटाबेस फाइल्स (विशेषकर MySQL/MariaDB/PostgreSQL) डायरेक्ट कॉपी, मूव करने से पहले आवश्यक रूप से ServBay GUI या CLI से डेटाबेस सेवा बंद करें। रनिंग डेटाबेस की फाइल कॉपी करने से डेटा करप्शन या असंगतता हो सकती है। Redis की रिकवरी में भी सेवा बंद करना जरूरी है।
- अनुमति समस्या: फाइल कॉपी/मूव/इम्पोर्ट करने वाला यूज़र फोल्डर और फाइल्स पर प्रयाप्त अनुमति रखे।
- फाइल पथ: ServBay की इंस्टाल पाथ (
/Applications/ServBayडिफॉल्ट) और कन्सर्न डेटाबेस वर्शन सबडायरेक्टरी को ठीक से जांच लें। - यूज़र और अनुमतियाँ: माइग्रेशन के बाद डेटाबेस यूज़र, परमिशन और कॉन्फिग फाइल्स अपडेट करें ताकि नया वातावरण सही चले।
- ServBay इनबिल्ट बैकअप: ServBay GUI से वेबसाइट, सेटिंग्स, डेटाबेस व SSL सर्टिफिकेट्स का इनबिल्ट बैकअप व रिकवरी भी संभव है, और यह मैन्युअल फाइल प्रबंधन का पूरक या विकल्प हो सकता है।
संक्षिप्त सारांश
ServBay की सुव्यवस्थित फाइल संरचना के ज़रिए डिवेलपर्स को डेटाबेस फाइल प्रबंधन का स्पष्ट आधार मिलता है। इस लेख में MySQL, MariaDB, PostgreSQL तथा Redis के फाइल स्थान व कमांड-लाइन टूल्स से बैकअप, रिकवरी और माइग्रेशन के अभ्यास दिए गए हैं। ये स्किल्स आपके लोकल डिवेलपमेंट में डेटा सुरक्षा बढ़ाएँगी और विभिन्न वातावरण में प्रोजेक्ट्स माइग्रेट करना आसान करेंगी। साथ ही, ServBay के अन्य उपयोगी फीचर्स (जैसे इनबिल्ट बैकअप) डिवेलपमेंट दक्षता व डेटा मैनेजमेंट को बहुत बढ़ाते हैं।
