تهيئة وتحسين إعدادات قاعدة بيانات MySQL في ServBay
يتضمن ServBay قاعدة بيانات MySQL مدمجة ويوفّر خيارات إعداد مرنة، مما يسمح للمطورين بضبط الإعدادات بحسب احتياجات مشاريعهم. يقدّم هذا المقال شرحاً مفصلاً لكيفية تعديل إعدادات MySQL في ServBay، بما في ذلك الطرق الموصى بها عبر الواجهة الرسومية، ومكان ملفات الإعدادات، وأهم الإعدادات المتكررة.
تبعاً لإصدار MySQL المثبت، عادةً ما توجد ملفات الإعدادات والبيانات ذات الصلة ضمن دلائل فرعية محددة داخل دليل تثبيت ServBay الافتراضي (/Applications/ServBay
).
تنبيه هام
يدير ServBay غالبية إعدادات الحزم والخدمات من خلال واجهة المستخدم الرسومية الخاصة به. نوصي بشدة بإجراء أي تعديلات على الإعدادات من خلال واجهة ServBay الرسومية. حيث يتولى ServBay توليد وإدارة ملفات الإعداد تلقائيًا، وقد تؤدي التعديلات اليدوية إلى فقدان التغييرات عند تحديث أو إعادة تشغيل ServBay. يُنصح بالتحرير اليدوي فقط لأغراض الاختبار المؤقت أو التصحيح.
التعديل عبر واجهة ServBay الرسومية (موصى به)
يوفر ServBay واجهة رسومية قوية تتيح للمطورين تعديل مختلف إعدادات MySQL بسهولة. تُطبق أي إعدادات يتم تعديلها عبر واجهة المستخدم تلقائيًا وتصبح سارية المفعول مباشرة، مما يبسط عملية الضبط ويقلل احتمال وقوع الأخطاء الناجمة عن التحرير اليدوي.
لتعديل إعدادات MySQL، افتح تطبيق ServBay وتوجه عبر شريط التنقل الجانبي إلى قواعد البيانات -> MySQL، ثم اختر إصدار MySQL الذي تود ضبط إعداداته.
عبر واجهة التعديل الرسومية يمكنك استعراض وتعديل إعدادات رئيسية متعددة، منها:
- المستخدم وكلمة المرور الافتراضيان: تظهر لك بيانات الدخول الافتراضية التي حددها ServBay، وغالبًا ما يكون اسم المستخدم هو
root
مع كلمة مرور ترفق معه. - عنوان الاستماع (
bind-address
) والمنفذ (port
): الإعداد الافتراضي هو0.0.0.0:3306
، ما يعني أن MySQL يستقبل الاتصالات من جميع واجهات الشبكة على المنفذ 3306. يمكنك تعديل عنوان الاستماع (مثلاً تغييره إلى127.0.0.1
ليقتصر على الاتصالات المحلية) أو تغيير رقم المنفذ لتفادي التعارض مع خدمات أخرى. - سجل الاستعلامات البطيئة (
slow query log
): يمكنك بسهولة تفعيل تسجيل الاستعلامات البطيئة لتحليل الاستفسارات التي تتسبب في ضعف أداء قاعدة البيانات. - عدد الاتصالات القصوى (
max_connections
): ضبط الحد الأقصى لعدد التوصيلات المتزامنة إلى قاعدة البيانات. - حجم حزمة البيانات القصوى (
max_allowed_packet
): تحديد الحد الأعلى لحجم الحزم المستقبلة، ما يؤثر على أكبر حجم ممكن للبيان الواحد أو سطر البيانات. - إعدادات شائعة أخرى: غالبًا ما تمنحك الواجهة الرسومية تحكمًا في إعدادات مفيدة أخرى بحسب احتياجاتك.
بعد الانتهاء من التعديلات، اضغط على زر حفظ أسفل الصفحة. يقوم ServBay بتطبيق التغييرات فورًا، وقد يعيد تشغيل خدمة MySQL إذا لزم الأمر لضمان سريان الإعدادات الجديدة.
مرجع: التعديل اليدوي لملف إعداد MySQL (غير مستحسن)
رغم أن التعديل اليدوي ليس النهج الموصى به، إلا أن معرفة مكان ملف إعداد MySQL الذي يديره ServBay قد يكون ضروريًا لبعض أغراض التصحيح أو الاختبارات المؤقتة.
WARNING
تنبيه مجدد: لا يُنصح بالتحرير اليدوي لملفات الإعداد التي يولّدها ServBay تلقائيًا. قد يتسبب استخدام واجهة ServBay أو أي تحديث لاحق بإزالة تعديلاتك اليدوية. لعمر إعداداتك والتأكد من استقرارها، يفضل دائمًا الاعتماد على الواجهة الرسومية. التحرير اليدوي مناسب فقط للتغييرات المؤقتة.
لمحة عامة
في ServBay، يتم تنظيم ملفات إعدادات MySQL حسب الإصدار. وتقع هذه الملفات في مسار محدد ضمن دليل تثبيت ServBay.
مسار ملف الإعداد
ملف الإعداد الرئيسي لـ MySQL والمسمى my.cnf
يوجد في:
my.cnf
:/Applications/ServBay/etc/mysql/<version>/my.cnf
حيث <version>
هو رقم إصدار MySQL المثبت (مثل 8.0
أو 9.0
).
my.cnf
ملف my.cnf
هو ملف الإعداد الرئيسي لخادم MySQL، ويحوي مختلف المعطيات التي تتحكم بتصرف الخدمة.
أمثلة على الإعدادات المتكررة
فيما يلي بعض الأمثلة للإعدادات الشائعة في ملف my.cnf
مع شرح مختصر لكل منها. يرجى الحذر الشديد أثناء التعديل اليدوي.
تغيير عنوان الاستماع (
bind-address
): يتحكم في واجهات الشبكة التي ينصت عليها خادم MySQL. القيمة0.0.0.0
تشير لاستقبال الاتصالات من جميع الواجهات، أما127.0.0.1
فللاتصالات المحلية فقط.ini[mysqld] bind-address = 0.0.0.0
1
2تغيير رقم المنفذ (
port
): المنفذ الذي تستمع عليه خدمة MySQL. القيمة الافتراضية هي3306
.ini[mysqld] port = 3306
1
2تغيير الحد الأقصى للاتصالات (
max_connections
): الحد الأعلى لعدد الاتصالات المتزامنة. عدل القيمة بما يناسب متطلبات تطبيقك.ini[mysqld] max_connections = 200
1
2تغيير حجم مخزن InnoDB المؤقت (
innodb_buffer_pool_size
): حجم الذاكرة المخصصة لمخزن بيانات ومحفوظات InnoDB. يؤثر بشكل مباشر في أداء المحرك ويوصى عادة بتخصيص 50% إلى 70% من الذاكرة الكلية.ini[mysqld] innodb_buffer_pool_size = 256M
1
2تعيين مسار سجل الأخطاء (
log_error
): تحديد مكان تسجيل السجلات المتعلقة بأخطاء بدء وتشغيل الخدمة.ini[mysqld] log_error = /Applications/ServBay/logs/mysql/error.log
1
2تفعيل سجل الاستعلامات البطيئة (
slow_query_log
): عند التفعيل، يسجل MySQL الاستعلامات التي تستغرق وقتًا أطول منlong_query_time
ضمن سجل خاص، ما يساعدك في الكشف عن أسباب بطء الأداء.ini[mysqld] slow_query_log = 1 slow_query_log_file = /Applications/ServBay/logs/mysql/slow.log long_query_time = 2 # بالثواني - يسجل الاستعلامات التي تتجاوز زمن التنفيذ المحدد
1
2
3
4ضبط مجموعة الأحرف وقواعد الترتيب (
character-set-server
,collation-server
): تحديد مجموعة الأحرف والترتيب الافتراضيتين للخادم. المجموعةutf8mb4
هي الأكثر توصية لاحتوائها دعمًا واسعًا لرموز Unicode بما فيها الرموز التعبيرية.ini[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
1
2
3
ماذا بعد التعديل اليدوي
إذا اضطررت للتعديل اليدوي (لغرض الاختبار المؤقت فقط)، فعليك إعادة تشغيل خدمة MySQL ليتم تطبيق التغييرات.
إعادة تشغيل خدمة MySQL
سواءً عدلت إعدادات MySQL عبر الواجهة أو يدويًا، ستحتاج غالبًا لإعادة تشغيل الخدمة حتى تدخل الإعدادات الجديدة حيّز التنفيذ.
إعادة التشغيل عبر واجهة ServBay الإدارية
- افتح واجهة إدارة ServBay.
- من شريط التنقل الجانبي اختر الحزم البرمجية.
- ابحث عن إصدار MySQL المناسب في قائمة الحزم واضغط زر إعادة التشغيل بجانبه.
إعادة التشغيل عبر أداة الأوامر servbayctl
يمكنك أيضًا استخدام أداة الأوامر الخاصة بـ ServBay (servbayctl
) لإدارة الخدمات بمنتهى السهولة.
افتح تطبيق الطرفية وأدخل الأمر التالي (استبدل 9.0
برقم إصدار MySQL الذي تستخدمه):
bash
servbayctl restart mysql 9.0
1
الأسئلة الشائعة (FAQ)
س: أجريت تعديلات يدوية على ملف
my.cnf
ولم تُطبق التغييرات. لماذا؟ج: تأكد من أنك قمت بإعادة تشغيل خدمة MySQL بعد التغييرات. إذا كنت تستخدم واجهة ServBay أو أجرت الخدمة عمليات إدارية لاحقة، قد تكون تعديلاتك أُزيلت تلقائيًا. ننصح دومًا بالتعديل من خلال واجهة ServBay الرسومية للحفاظ على الاستقرار.
س: لم تعد MySQL تعمل بعد تعديل الإعدادات. ماذا أفعل؟
ج: غالبًا ما يُعزى ذلك إلى أخطاء كتابية أو منطقية في ملف الإعداد. تحقق من خلو ملف
my.cnf
من الأخطاء. راجع سجل الأخطاء (/Applications/ServBay/logs/mysql/error.log
وقد يختلف بحسب الإصدار) لتشخيص المشكلة. إذا لم تحل المشكلة، حاول إلغاء التعديلات اليدوية واستعادة الإعدادات التي يديرها ServBay عبر الواجهة الرسومية.س: نسيت كلمة مرور root في قاعدة بيانات MySQL الخاصة بـ ServBay. ما الحل؟
ج: يمكنك إيجاد كلمة المرور الافتراضية للمستخدم root ضمن صفحة إعدادات MySQL في واجهة ServBay. وإذا رغبت في تعيين كلمة مرور جديدة، غالبًا ما يوفر ServBay (في الإصدارات الجديدة) خيارًا لذلك عبر الواجهة الرسومية حتى يمكنك إعادة تعيين كلمة مرور root لجميع محركات قواعد البيانات (MySQL، MariaDB، PostgreSQL). لمزيد من التفاصيل راجع مستندات إدارة كلمات المرور الخاصة بـ ServBay.
الخلاصة
تُعد تهيئة إعدادات MySQL في ServBay عملية مرنة للغاية. الطريقة الموصى بها دومًا هي التعديل عبر الواجهة الرسومية للحفاظ على استدامة ودقة الإعدادات. ربما تحتاج أحيانًا للاطلاع على ملف /Applications/ServBay/etc/mysql/<version>/my.cnf
لفهم الخيارات، لكن لا يُنصح نهائيًا بالتحرير اليدوي لأغراض التعديل الدائم. بغض النظر عن طريقة التغيير، ستحتاج عادةً لإعادة تشغيل الخدمة لضمان تطبيق التغييرات. إن فهمك لتلك الإعدادات يمكّنك من تحسين أداء قاعدة البيانات في بيئة ServBay المحلية بأفضل صورة ممكنة.