كيفية ترقية وترحيل MySQL/MariaDB في ServBay
نظرة عامة
أثناء تطوير المشاريع محليًا، قد تحتاج إلى تغيير إصدار MySQL أو MariaDB الافتراضي في بيئة ServBay وفقًا لمتطلبات المشروع أو للاستفادة من أحدث الميزات والتحديثات الأمنية. يهدف هذا الدليل إلى تزويدك بخطوات واضحة ومفصلة لمساعدتك على إتمام هذه العملية بأمان، بما في ذلك الجوانب الأساسية لنسخ البيانات احتياطيًا واستعادتها.
حالات الاستخدام
- الترقية إلى أحدث إصدار: الاستفادة من الميزات الجديدة، وتحسين الأداء، وتصحيح الثغرات الأمنية.
- اختبار توافقية المشاريع: التأكد من عمل تطبيقاتك بشكل سليم عبر إصدارات قواعد البيانات المختلفة.
- تلبية المتطلبات الخاصة بالمشاريع: بعض المشاريع تتطلب استخدام إصدار بعينه من قاعدة البيانات.
المتطلبات المسبقة
- تثبيت ServBay وتشغيله مسبقًا.
- معرفة أساسية باستخدام الطرفية (Terminal).
- معرفة كلمة مرور المستخدم
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
في المجلد الحالي (غالبًا مجلد المستخدم~
).
بعد تنفيذ الأمر، أدخل كلمة مرور root
عند الطلب وانتظر حتى تنتهي العملية (قد لا تظهر رسائل كثيرة أثناء التنفيذ حتى ظهور سطر الأوامر مجددًا). حجم ملف النسخة الاحتياطية يعتمد على حجم قاعدة بياناتك. تأكد من أن الملف ليس فارغًا.
2. تثبيت الإصدار الجديد المطلوب
افتح واجهة تطبيق ServBay. انتقل إلى علامة تبويب الحزم (Packages). ضمن فئة قواعد البيانات، ابحث عن MariaDB أو MySQL، واختر الإصدار الجديد المراد التبديل إليه (مثل MariaDB 11.3)، ثم اضغط زر التثبيت.
انتظر حتى يكمل ServBay عملية التنزيل والتثبيت.
3. تعطيل قاعدة البيانات بالإصدار القديم
بعد تثبيت الإصدار الجديد، عُد إلى علامة تبويب الحزم (Packages) في ServBay. ابحث عن إصدار قاعدة البيانات القديم الجاري تشغيله (مثل MariaDB 10.11). انقر على مؤشر الحالة بجانبه (عادة دائرة خضراء) لتعطيله. يجب أن يتحول المؤشر للون الرمادي.
4. تفعيل قاعدة البيانات بالإصدار الجديد
بعد تعطيل الإصدار القديم، ابحث عن قاعدة البيانات الجديدة (مثل MariaDB 11.3) التي ثبتها سابقًا. انقر مؤشر حالتها لتفعيل التشغيل. يجب أن يصبح المؤشر أخضر، مما يعني أن الإصدار الجديد قد بدأ بنجاح.
5. تعيين الإصدار الجديد كإصدار افتراضي
فقط تعطيل الإصدار القديم وتفعيل الجديد لا يكفي لجعل النظام يستخدم الإصدار الجديد افتراضيًا. يجب تحديد الإصدار الافتراضي بوضوح من الإعدادات.
اذهب إلى لوحة الإعدادات (Settings) في تطبيق ServBay. ضمن إعدادات قواعد البيانات، ابحث عن خيار تعيين الإصدار الافتراضي لـ MySQL أو MariaDB، ثم اختر الإصدار الجديد (مثلاً MariaDB 11.3) من القائمة المنسدلة.
اضغط زر Apply (تطبيق) أسفل اللوحة لحفظ الإعدادات.
6. تأكيد نجاح تعيين الإصدار الافتراضي
عُد إلى لوحة الحزم (Packages) في ServBay. ينبغي أن ترى بجانب الإصدار الجديد (مثل 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
كما يمكنك فحص جداول وقواعد بيانات بعينها وإجراء استعلامات للتأكد من صحة الاستعادة، وأن تطبيقاتك تستطيع الاتصال والوصول للبيانات بنجاح.
ملاحظات هامة
- توافق البيانات: رغم الحرص على الحفاظ على التوافقية، إلا أن بعض ترقيات الإصدارات الرئيسية (مثل من 5.7 إلى 8.0 في MySQL أو من 10.x إلى 11.x في MariaDB) قد تحمل تغييرات غير متوافقة. تحقق دومًا من وثائق الإصدارات قبل التحديث.
- ملفات الإعدادات: يحتفظ ServBay بملفات إعدادات مستقلة لكل إصدار (مثل
my.cnf
أوmy.ini
). إذا قمت بتخصيص إعدادات في الإصدار القديم، عليك نقلها يدويًا لملف الإعداد الجديد. غالبًا ما توجد هذه الملفات ضمن مجلد تثبيت ServBay مثل:/Applications/ServBay/etc/mysql/رقم_الإصدار/my.cnf
. - الأداء: قد يحمل الإصدار الجديد إعدادات افتراضية مختلفة أو تحسينات داخلية. بعد التبديل، اختبر أداء تطبيقك وعدّل الإعدادات حسب الحاجة.
- المنفذ: بشكل افتراضي، جميع إصدارات قواعد البيانات في ServBay تعمل على المنفذ القياسي (مثل 3306). التبديل بين الإصدارات الافتراضية لن يغير المنفذ. إذا رغبت بتشغيل أكثر من إصدار في نفس الوقت على منافذ مختلفة، يتوجب تعديل ملفات الإعداد يدويًا.
الأسئلة الشائعة (FAQ)
- س: قاعدة البيانات الجديدة لا تعمل بعد التثبيت، ماذا أفعل؟
- ج: تحقق من مؤشرات الحالة في لوحة الحزم وسجلات ServBay. يمكنك مراجعة سجلات قاعدة البيانات غالبًا في المجلد
var/log/mysql
أوvar/log/mariadb
ضمن مجلد تثبيت ServBay، وذلك لمعرفة سبب المشكلة (كأخطاء بالإعدادات أو تعارض المنفذ أو مشاكل الصلاحيات).
- ج: تحقق من مؤشرات الحالة في لوحة الحزم وسجلات ServBay. يمكنك مراجعة سجلات قاعدة البيانات غالبًا في المجلد
- س: ظهرت أخطاء أثناء استعادة النسخة الاحتياطية، كيف أحلها؟
- ج: اقرأ رسائل الخطأ بعناية. من الأخطاء الشائعة: مشاكل الترميز (يمكن استخدام خيار
--default-character-set=utf8mb4
في mysqldump)، أو مشاكل صلاحياتDEFINER
(يمكن تعديلها داخل ملف النسخة)، أو تلف ملف النسخة ذاته. لقواعد البيانات الضخمة، جرب أدوات مثلmydumper
وmyloader
للنسخ المتوازي.
- ج: اقرأ رسائل الخطأ بعناية. من الأخطاء الشائعة: مشاكل الترميز (يمكن استخدام خيار
- س: هل يمكنني التبديل بين الإصدارات دون نسخ احتياطي واستعادة؟
- ج: لا يوصى بذلك خصوصًا في ترقيات الإصدارات الكبرى، فقد يؤدي ذلك لمشاكل توافق أو فقدان بيانات. النسخ الاحتياطي ثم الاستعادة هو الأسلوب الأكثر أمانًا.
- س: تطبيقي أو موقعي لا يتصل بالقاعدة بعد التبديل، ما السبب؟
- ج: تأكد من أن الإصدار الجديد مفعل ومعيّن كافتراضي في ServBay. راجع إعدادات الاتصال في التطبيق (اسم المضيف غالبًا
127.0.0.1
أوlocalhost
، المنفذ عادة 3306، اسم المستخدم وكلمة المرور).
- ج: تأكد من أن الإصدار الجديد مفعل ومعيّن كافتراضي في ServBay. راجع إعدادات الاتصال في التطبيق (اسم المضيف غالبًا
ملخص
باتباع الخطوات الواردة في هذا الدليل، ستتمكن من تبديل الإصدار الافتراضي لـ MySQL أو MariaDB ضمن ServBay بأمان وسلاسة. يشمل ذلك النسخ الاحتياطي للبيانات، وتثبيت وتفعيل الإصدار الجديد، وتعيينه كافتراضي ضمن إعدادات ServBay، وأخيرًا استعادة البيانات والتأكد من سلامتها وعمل التطبيقات كما ينبغي.