دليل إدارة ونقل ملفات قواعد بيانات ServBay
يعتبر ServBay بيئة تطوير ويب محلية قوية تجمع بين عدة أنظمة إدارة قواعد بيانات شائعة، كما يقوم بإدارة ملفات بياناتها بطريقة منظمة. يعرف فهم بنية حفظ ملفات قواعد البيانات الافتراضية في ServBay أهمية كبيرة للمطورين من أجل إجراء النسخ الاحتياطي، الاستعادة، أو الترحيل بين البيئات المختلفة.
ستتعرف في هذا المقال بالتفصيل على هيكلية حفظ ملفات قواعد البيانات في ServBay وكيفية إدارتها ونقلها بين البيئات باستعمال أدوات CLI القياسية.
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
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 بشكل مستقل وآمن حيث تكون ملفات البيانات لكل إصدار معزولة.
إدارة ملفات قواعد البيانات
خلال تطويرك المحلي، قد تحتاج غالبًا إلى النسخ الاحتياطي أو استعادة أو ترحيل قاعدة بياناتك. فيما يلي طرق إجراء هذه العمليات باستخدام أدوات سطر الأوامر لكل قاعدة بيانات. يُرجى التأكد من استعمال بيئة Terminal المُهيئة من ServBay أو ضبط متغيرات البيئة بالشكل المناسب لضمان سهولة الوصول للأدوات المطلوبة.
نسخ احتياطي لقاعدة البيانات
النسخ الاحتياطي المنتظم أمر أساسي لضمان أمان البيانات. فيما يلي أمثلة لكيفية إجراء النسخ الاحتياطي لمختلف قواعد البيانات في ServBay.
نسخ احتياطي لـ MySQL
الأداة mysqldump
هي الطريقة القياسية لعمل نسخ احتياطي لقاعدة بيانات MySQL.
# ادخل إلى بيئة الـ Terminal الخاصة بـ ServBay أو تأكد من إضافة مسار bin الخاص بـ ServBay إلى المتغير PATH
# مثال: export PATH="/Applications/ServBay/bin:$PATH"
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
2
3
4
your_username
: استبدله باسم مستخدم قاعدة البيانات الخاص بك.your_database
: استبدله باسم قاعدة البيانات المراد نسخها احتياطياً./Applications/ServBay/backup/your_database.sql
: استبدله بمسار واسم ملف النسخ الاحتياطي. يُفضل حفظ ملف النسخ الاحتياطي خارج دليل ServBay، مثل مجلد مستخدمك الشخصي.
نسخ احتياطي لـ MariaDB
طريقة عمل النسخ الاحتياطي لـ MariaDB مماثلة تماماً لـ MySQL باستخدام أداة mysqldump
.
# ادخل إلى بيئة الـ Terminal الخاصة بـ ServBay أو تأكد من إضافة مسار bin الخاص بـ ServBay إلى المتغير PATH
mysqldump -u your_username -p your_database > /Applications/ServBay/backup/your_database.sql
2
3
- نفس الشرح أعلاه للمعاملات.
نسخ احتياطي لـ PostgreSQL
استخدم الأداة pg_dump
لعمل نسخ احتياطي لـ PostgreSQL. لاحظ أن PostgreSQL في ServBay غالباً ما يستخدم اتصال Unix Domain Socket مع المسار الافتراضي /Applications/ServBay/tmp
، ويجب تحديده في الأمر بـ -h /Applications/ServBay/tmp
.
# ادخل إلى بيئة Terminal الخاصة بـ ServBay أو تأكد من إضافة مسار bin الخاص بـ ServBay إلى المتغير PATH
pg_dump -h /Applications/ServBay/tmp -U your_username -d your_database -F c -b -v -f /Applications/ServBay/backup/your_database.dump
2
3
-h /Applications/ServBay/tmp
: مسار socket الخاص بخادم PostgreSQL.-U your_username
: اسم المستخدم.-d your_database
: اسم قاعدة البيانات.-F c
: لاختيار صيغة الأرشيف المخصصة (موصى بها).-b
: تضمين الكائنات الكبيرة (blobs).-v
: تفعيل المخرجات التفصيلية.-f /Applications/ServBay/backup/your_database.dump
: اسم ومكان ملف النسخ الاحتياطي.
نسخ احتياطي لـ Redis
عادة يكون النسخ الاحتياطي لـ Redis بنسخ ملف dump.rdb
الخاص بالتخزين الدائم.
# ادخل إلى بيئة Terminal الخاصة بـ ServBay
# تأكد من تشغيل خدمة Redis أو من تفعيل الحفظ التلقائي (BGSAVE)
cp /Applications/ServBay/db/redis/dump.rdb /Applications/ServBay/backup/dump.rdb
2
3
4
/Applications/ServBay/db/redis/dump.rdb
: المسار الافتراضي لملف البيانات في Redis./Applications/ServBay/backup/dump.rdb
: استبدله بمسار الاسم المطلوب لحفظ النسخة الاحتياطية.
استعادة قاعدة البيانات
في حالة فقدان البيانات أو الحاجة للعودة لحالة سابقة، يمكنك استعادة قاعدة البيانات من ملف النسخة الاحتياطية.
استعادة MySQL
استخدم أداة mysql
لاستعادة النسخ الاحتياطية.
# ادخل إلى بيئة Terminal الخاصة بـ ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
2
3
your_username
: اسم مستخدم قاعدة البيانات.your_database
: اسم القاعدة المراد الاستعادة إليها (يفضل إنشاؤها مسبقاً)./Applications/ServBay/backup/your_database.sql
: مسار ملف النسخة الاحتياطية.
استعادة MariaDB
طريقة الاستعادة مماثلة لـ MySQL باستخدام أداة mysql
.
# ادخل إلى بيئة Terminal الخاصة بـ ServBay
mysql -u your_username -p your_database < /Applications/ServBay/backup/your_database.sql
2
3
- نفس الشرح أعلاه للمعاملات.
استعادة PostgreSQL
استخدم أداة pg_restore
لاستعادة النسخ الاحتياطية بصيغة الأرشيف المخصص، مع ضرورة تحديد مسار socket.
# ادخل إلى بيئة Terminal الخاصة بـ ServBay
pg_restore -h /Applications/ServBay/tmp -U your_username -d your_database -v /Applications/ServBay/backup/your_database.dump
2
3
-h /Applications/ServBay/tmp
: مسار socket الخاص بـ PostgreSQL.-U your_username
: اسم المستخدم.-d your_database
: اسم القاعدة المستقبلة (يجب إنشاؤها مسبقاً).-v
: إخراج تفصيلي./Applications/ServBay/backup/your_database.dump
: مسار ملف النسخة الاحتياطية.
استعادة Redis
عادة تتم الاستعادة بنسخ ملف dump.rdb
الاحتياطي إلى مجلد بيانات Redis.
هام: تأكد من إيقاف خدمة Redis قبل هذا الإجراء.
# ادخل إلى بيئة Terminal الخاصة بـ ServBay
# أوقف خدمة Redis في ServBay
# انسخ ملف النسخة الاحتياطية
cp /Applications/ServBay/backup/dump.rdb /Applications/ServBay/db/redis/dump.rdb
# أعد تشغيل خدمة Redis في ServBay
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
أو أي أداة لنقل الملفات، وضع الملف في مكان مناسب (مثل/Applications/ServBay/backup/
).إنشاء قاعدة بيانات في البيئة المستهدفة:
bash# في الطرفية الخاصة بـ ServBay المستهدفة mysql -u your_target_username -p -e "CREATE DATABASE your_database;"
1
2your_target_username
: اسم المستخدم في البيئة المستهدفة.your_database
: اسم القاعدة (يفضل أن يطابق اسم القاعدة الأصلية).
استيراد قاعدة البيانات في البيئة المستهدفة:
bash# في الطرفية الخاصة بـ ServBay المستهدفة mysql -u your_target_username -p your_database < /path/to/your_database.sql
1
2/path/to/your_database.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
، مع ضرورة الانتباه لمسار الـ socket في 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
: اسم ملف النسخة الاحتياطية.
نقل ملف النسخة الاحتياطية للبيئة المستهدفة: استخدم
scp
أو أداة مشابهة، ضع الملف في مكان مناسب في ServBay المستهدف.إنشاء قاعدة البيانات في 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
3نقل ملف
dump.rdb
إلى دليل بيانات Redis في البيئة المستهدفة:bash# نفّذ في البيئة المصدر أو في خادم وسيط scp ./dump.rdb your_target_server:/Applications/ServBay/db/redis/dump.rdb
1
2your_target_server
: عنوان أو اسم مستضيف ServBay المستهدف.- هام: تأكد من إيقاف خدمة Redis في المسار المستهدف قبل النقل.
تشغيل خدمة Redis في البيئة المستهدفة: ستقرأ Redis تلقائياً من ملف
dump.rdb
الجديد عند بدء الخدمة.
ملاحظات هامة
- إيقاف الخدمة: قبل نسخ أو نقل ملفات قواعد البيانات (خصوصاً أدلة بيانات MySQL/MariaDB/PostgreSQL)،
يجب دائماً إيقاف الخدمة من خلال واجهة ServBay أو الأوامر الخاصة بها. نسخ الملفات أثناء تشغيل القاعدة قد يؤدي إلى تلف البيانات أو فقدان التناسق. بالنسبة لـ Redis أيضاً، يجب إيقاف الخدمة عند استخدام ملفdump.rdb
للاستعادة. - الصلاحيات: تأكد أن للمستخدم الذي ينفذ عمليات النسخ أو النقل أو الاستيراد صلاحيات كافية على المجلدات والملفات المعنية.
- مسارات الملفات: تحقق جيداً من مسار تثبيت ServBay (الافتراضي
/Applications/ServBay
) ومسارات أدلة قواعد البيانات، خاصة عند وجود أكثر من إصدار. - المستخدمون والصلاحيات: بعد الترحيل، افحص المستخدمين والصلاحيات وملفات الإعدادات، فقد يتطلب الأمر تحديثاً لتتماشى مع البيئة الجديدة.
- النسخ الاحتياطي المدمج في ServBay:
يوفر ServBay أيضاً وظائف نسخ احتياطي واستعادة عبر الواجهة الرسومية، تشمل الإعدادات، ملفات المواقع، قواعد البيانات وشهادات SSL، ويمكن اعتبارها بديلاً أو مكملة للإدارة اليدوية.
الخلاصة
يمنحك ServBay هيكلية ملفات منظمة وواضحة لإدارة قواعد البيانات. تناول هذا الدليل بالتفصيل مسارات تخزين قواعد بيانات MySQL وMariaDB وPostgreSQL وRedis وكيفية النسخ الاحتياطي، الاستعادة، والترحيل القياسي لكل منها. إتقان هذه المهارات يعزز من قدرتك على إدارة بيانات تطويرك المحلي، ويضمن أمان البيانات وسلاسة نقل المشاريع بين البيئات. مع الاستفادة من مزايا ServBay الإضافية – كدعم النسخ الاحتياطي المدمج – يمكنك تحسين كفاءة التطوير وإدارة البيانات بشكل كبير.