إدارة واستخدام قاعدة بيانات MariaDB في ServBay
MariaDB هو نظام إدارة قواعد بيانات علائقية مفتوح المصدر، مشتق من MySQL ويشتهر بالأداء العالي والموثوقية والقدرة على التوسعة. يوفر ServBay، وهو بيئة تطوير ويب محلية تدعم macOS وWindows، خدمة قواعد بيانات MariaDB بشكل مدمج مما يمنح المطورين تجربة إدارة قواعد بيانات سلسة وفعّالة. يقدم هذا الدليل شرحاً مفصلاً لكيفية تثبيت وإعداد والاتصال وإدارة (بما في ذلك النسخ الاحتياطي والاستعادة) وتحسين وتأمين MariaDB على ServBay.
تثبيت وإعداد MariaDB
يعد تثبيت MariaDB في ServBay سهلاً للغاية. افتح الواجهة الرئيسية لـ ServBay، وانقر على شريط التنقل الجانبي على الحزم، ثم اختر MariaDB. ستظهر لك قائمة بإصدارات MariaDB المتاحة، علماً أن ServBay يدعم حالياً عدة إصدارات من MariaDB من 10.4 إلى 11.7.
اختر إصدار MariaDB الذي تحتاجه ثم اضغط على زر التثبيت لإكمال العملية.
تشغيل وإدارة خدمة MariaDB
بعد التثبيت، يمكنك تشغيل أو إيقاف أو إعادة تشغيل خدمة MariaDB عبر منصة إدارة ServBay أو عبر أداة الأوامر servbayctl
.
استخدام منصة إدارة ServBay
- افتح الواجهة الرئيسية لـ ServBay.
- انتقل إلى شريط التنقل الجانبي واختر الحزم ثم MariaDB.
- في صفحة تفاصيل الحزمة، ابحث عن إصدار MariaDB الذي قمت بتثبيته.
- استخدم الأزرار المتوفرة لتشغيل أو إيقاف أو إعادة تشغيل الخدمة.
استخدام أداة الأوامر servbayctl
تعتبر servbayctl
أداة أوامر قوية تقدمها ServBay لإدارة خدمات وبرمجيات البيئة بسهولة.
bash
# تشغيل خدمة MariaDB لإصدار محدد (مثال: MariaDB 11.3)
servbayctl start mariadb 11.3
# إيقاف خدمة MariaDB لإصدار محدد
servbayctl stop mariadb 11.3
# إعادة تشغيل خدمة MariaDB لإصدار محدد
servbayctl restart mariadb 11.3
# عرض حالة تشغيل خدمة MariaDB
servbayctl status mariadb 11.3
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
يرجى استبدال 11.3
برقم الإصدار الفعلي الذي ثبتّه وتستخدمه.
إعداد MariaDB
يوفر ServBay واجهة رسومية سهلة للمستخدم لتعديل إعدادات MariaDB، كما يدعم تحرير ملفات الإعدادات مباشرة. من خلال الواجهة، يمكنك تعديل الإعدادات الهامة مثل الذاكرة والتخزين المؤقت وعدد الاتصالات لتناسب احتياجات الأداء.
للحصول على خطوات تفصيلية لتعديل وتحسين إعدادات MariaDB، راجع دليل إعدادات ServBay المتقدمة: تعديل إعدادات MariaDB.
الاتصال بـ MariaDB
MariaDB في ServBay تدعم عدة طرق للاتصال، تشمل أدوات سطر الأوامر والبرامج الرسومية.
الاتصال باستخدام سطر الأوامر
يمكنك استخدام عميل سطر الأوامر القياسي mysql
للاتصال بخدمة MariaDB.
الاتصال عبر TCP/IP: اتصل بتحديد اسم المضيف (
localhost
) ورقم المنفذ (افتراضياً 3306).bashmysql -u your_username -p -h localhost -P 3306
1سيطلب منك النظام إدخال كلمة المرور بعد تنفيذ الأمر. استبدل
your_username
باسم مستخدم قاعدة البيانات الفعلي.الاتصال عبر Socket: اتصل بتحديد مسار ملف سوكيت Unix domain، وهي طريقة أسرع غالباً من TCP/IP.
bashmysql -u your_username -p -S /Applications/ServBay/tmp/mysql.sock
1بشكل افتراضي، يقوم ServBay بوضع ملف سوكيت MariaDB على المسار
/Applications/ServBay/tmp/mysql.sock
.
الاتصال باستخدام phpMyAdmin وAdminer
يأتي ServBay مدمجاً مع أداتي الإدارة الرسومية الشهيرتين phpMyAdmin وAdminer، مما يتيح لك إدارة قواعد البيانات من خلال واجهة ويب سهلة الاستخدام.
يمكنك الوصول إلى صفحة الخدمات المحلية عبر المتصفح:
- رابط الوصول: https://servbay.host
ستجده على هذه الصفحة روابط لـ phpMyAdmin وAdminer. عند تسجيل الدخول، استخدم اسم المستخدم وكلمة المرور اللذين يمكنك الحصول عليهما من صفحة تفاصيل حزمة MariaDB في ServBay.
إدارة قواعد البيانات
إنشاء قاعدة بيانات ومستخدمين
بعد الاتصال بـ MariaDB، يمكنك تنفيذ أوامر SQL لإنشاء قواعد بيانات جديدة وإدارة صلاحيات المستخدمين.
إنشاء قاعدة بيانات:
sqlCREATE DATABASE mydatabase_servbay;
1يفضل اختيار اسم وصفي لقاعدة البيانات مثل
mydatabase_servbay
.إنشاء مستخدم ومنحه الصلاحيات: لإنشاء مستخدم خاص بالتطبيق ومنحه فقط الصلاحيات التي يحتاجها حسب أفضل ممارسات الأمان.
sql-- قم بإنشاء مستخدم جديد مثل servbay-demo مع تعيين كلمة مرور CREATE USER 'servbay-demo'@'localhost' IDENTIFIED BY 'a_strong_password'; -- منح المستخدم جميع الصلاحيات على قاعدة بيانات محددة GRANT ALL PRIVILEGES ON mydatabase_servbay.* TO 'servbay-demo'@'localhost'; -- تحديث الصلاحيات لتصبح فعالة فوراً FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8استبدل
servbay-demo
باسم المستخدم المطلوب وa_strong_password
بكلمة مرور قوية، وmydatabase_servbay
باسم قاعدة البيانات المنشأة. تعني'@localhost'
أن المستخدم يستطيع الاتصال فقط من الجهاز المحلي.
النسخ الاحتياطي والاستعادة
يعد النسخ الاحتياطي المنتظم للبيانات من أهم وسائل حماية المعلومات. يمكنك الاستفادة من ServBay للنسخ اليدوي أو التلقائي.
النسخ اليدوي لقاعدة البيانات
استخدم أداة mysqldump
لتصدير قاعدة البيانات إلى ملف SQL. من الأفضل حفظ النسخ الاحتياطية في مجلد النسخ الاحتياطي الخاص بـ ServBay:
bash
/Applications/ServBay/backup/mariadb
1
لتصدير نسخة احتياطية:
bash
mysqldump -u servbay-demo -p mydatabase_servbay > /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
1
استبدل servbay-demo
وmydatabase_servbay
باسم المستخدم وقاعدة البيانات الخاصين بك. ستحتاج لإدخال كلمة المرور بعد تنفيذ الأمر.
استعادة قاعدة البيانات يدوياً
استخدم أداة mysql
لاستيراد ملف النسخ الاحتياطي لـ SQL إلى قاعدة البيانات.
bash
mysql -u servbay-demo -p mydatabase_servbay < /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
1
سيتم استعادة بيانات الملف /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
مباشرة لقاعدة البيانات mydatabase_servbay
.
خدمة النسخ الاحتياطي التلقائي في ServBay
يوفر ServBay خاصية النسخ الاحتياطي التلقائي القوية، حيث يمكنك جدولة عملية النسخ الاحتياطي لقواعد بيانات MariaDB وملفات المواقع وإعدادات ServBay وشهادات SSL وغيرها من البيانات المهمة. من الإعدادات يمكنك تخصيص معدل النسخ وعدد النسخ الاحتياطية والموقع التخزيني. هذه الخاصية تقلل الوقت وتزيد أمان البيانات بشكل كبير. للمزيد عن الإعداد راجع كيفية النسخ الاحتياطي التلقائي واستعادة قاعدة بيانات MariaDB.
تحسين الأداء
توفر MariaDB خيارات متعددة لتحسين الأداء، وإليك أبرز الأساليب المناسبة لتطوير واختبار المشاريع المحلية عبر ServBay.
تحسين الفهارس (Indexes)
إنشاء فهارس للأعمدة المستخدمة بشكل متكرر في شروط WHERE
أو عمليات JOIN
أو الترتيب ORDER BY
يسرّع تنفيذ الاستعلامات بشكل ملحوظ.
sql
-- إنشاء فهرس على عمود column_name في جدول your_table_name
CREATE INDEX idx_column_name ON your_table_name(column_name);
1
2
2
تحسين الاستعلامات
استخدم أمر EXPLAIN
لتحليل خطة تنفيذ الاستعلامات ومعرفة كيفية الوصول للبيانات وما إذا كانت الفهارس مستخدمة.
sql
EXPLAIN SELECT * FROM your_table_name WHERE column_name = 'value';
1
من خلال النتائج، يمكن تحسين صياغة الاستعلامات أو إضافة الفهارس أو تعديل هيكل الجدول حسب الحاجة.
تحسين الإعدادات
تعديل ملف إعدادات MariaDB (غالباً my.cnf
أو my.ini
) خاصة من ناحية استخدام الذاكرة والتخزين المؤقت وعدد الاتصالات، يُحدث فرقاً كبيراً في الأداء. يعتبر innodb_buffer_pool_size
من أهم المعايير، حيث يحدد حجم ذاكرة التخزين المؤقت لمحرك InnoDB ويجب تعديله حسب حجم ذاكرة الجهاز.
ini
[mysqld]
# ضبط حجم ذاكرة التخزين المؤقت، مثال: 50-70٪ من ذاكرة الجهاز
innodb_buffer_pool_size = 1G
1
2
3
2
3
بعد التعديل، يجب إعادة تشغيل خدمة MariaDB لتصبح التغييرات فعّالة. يمكنك ذلك عبر الواجهة الرسومية أو بالأمر: servbayctl restart mariadb <version>
.
الأمان وإدارة الصلاحيات
حتى في بيئة التطوير المحلية، تأمين قاعدة البيانات ضروري لتجنب المخاطر واكتساب عادات أمان جيدة.
تعيين كلمات مرور قوية
أوصى بتعيين كلمات مرور قوية وفريدة لجميع المستخدمين خاصة للمستخدم root. يجب تجنب كلمات المرور الضعيفة أو الافتراضية.
sql
-- تغيير كلمة مرور المستخدم
ALTER USER 'servbay-demo'@'localhost' IDENTIFIED BY 'a_new_strong_password';
-- أو بصيغة قديمة (حسب إصدار MariaDB)
SET PASSWORD FOR 'servbay-demo'@'localhost' = PASSWORD('a_new_strong_password');
1
2
3
4
5
2
3
4
5
النسخ الاحتياطي المنتظم
كما سبق ذكره، النسخ الاحتياطي المنتظم للبيانات عامل أساسي لتجنب فقدان المعلومات. استخدم خاصية النسخ الاحتياطي التلقائي في ServBay لضمان الحماية المستمرة.
تقييد الوصول
اتباع مبدأ أقل الصلاحيات، بحيث يُمنح كل مستخدم فقط الصلاحيات الضرورية. تجنب إعطاء صلاحيات كاملة بشكل عام (مثل ALL PRIVILEGES ON *.*
).
sql
-- سحب جميع الصلاحيات من المستخدم (استخدم بحذر)
REVOKE ALL PRIVILEGES ON *.* FROM 'servbay-demo'@'localhost';
-- منح صلاحيات محددة مثل SELECT، INSERT، UPDATE على قاعدة بيانات معينة
GRANT SELECT, INSERT, UPDATE ON mydatabase_servbay.* TO 'servbay-demo'@'localhost';
-- تحديث الصلاحيات
FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
الأسئلة الشائعة وحلولها (FAQ)
عدم القدرة على الاتصال بـ MariaDB
إذا واجهت مشكلة في الاتصال بقاعدة بيانات MariaDB، اتبع الخطوات التالية للتحقق:
- التحقق من تشغيل خدمة MariaDB: راجع حالة حزمة MariaDB من خلال واجهة ServBay أو باستخدام أمر
servbayctl
:bashإذا كانت الخدمة متوقفة، ابدأ بتشغيلها.servbayctl status mariadb <version>
1 - التحقق من معلومات الاتصال: تأكد من صحة اسم المستخدم وكلمة المرور واسم المضيف (
localhost
) ورقم المنفذ (3306
) أو مسار ملف السوكيت (/Applications/ServBay/tmp/mysql.sock
). - التحقق من إعدادات الجدار الناري: تأكد أن جدار حماية macOS لا يمنع ServBay أو MariaDB من الاتصال بالشبكة. غالباً لا يواجه ذلك مشكلة في التطوير المحلي، لكن عليك مراعاته في حالة الاتصال عن بعد.
مشكلة كلمة المرور
في حالة ظهور أخطاء في كلمة المرور عند الاتصال بـ MariaDB أو نسيان كلمة مرور المستخدم root، راجع دليل ServBay الخاص بإعادة تعيين كلمات المرور:
يمكنك بسهولة إعادة تعيين كلمات مرور root لقواعد بيانات MariaDB وMySQL وPostgreSQL عبر ServBay.
مشاكل الصلاحيات
إذا تمكنت من الاتصال بقاعدة البيانات ولكن لا تستطيع تنفيذ إجراءات (مثل إنشاء جدول أو إدخال بيانات)، غالبًا يرجع ذلك لنقص الصلاحيات.
- التحقق من صلاحيات المستخدم الحالي:sqlاستبدل
SHOW GRANTS FOR 'your_username'@'localhost';
1your_username
باسم المستخدم الحالي. - منح الصلاحيات اللازمة حسب الحاجة: إذا كانت الصلاحيات غير كافية، استخدم حساب بصلاحية أعلى (مثل root) لمنح الصلاحيات المطلوبة ثم تحديثها.sql
GRANT ALL PRIVILEGES ON mydatabase_servbay.* TO 'servbay-demo'@'localhost'; FLUSH PRIVILEGES;
1
2
الخلاصة
تعتبر MariaDB أحد العناصر القوية والأساسية في بيئة التطوير ServBay. باستخدام أدوات ServBay للإدارة والواجهة الرسومية، يمكنك تثبيت وإعداد والاتصال وإدارة وتحسين وتأمين قاعدة بياناتك بسرعة وكفاءة. تعلّم هذه الأساسيات ضروري لبناء تطبيقات ويب قوية وعملية. نرجو أن يكون الدليل قد ساهم في تعزيز استفادتك من إمكانيات MariaDB في ServBay، ودعم تدفق عملك التطويري ببيانات مستقرة وآمنة.