عرب نت | Ar4bnet
تسجيل الدخول
الدرس الخامس: إدارة قواعد البيانات المتقدمة في Plesk
TUTORIAL السيرفرات و الاستضافه 🔥 الأكثر قراءة

الدرس الخامس: إدارة قواعد البيانات المتقدمة في Plesk

كيف يدير Plesk محرك قواعد البيانات MySQL/MariaDB في الخلفية؟ سنتعلم إنشاء قواعد البيانات، التحكم في صلاحيات المستخدمين بدقة، وتقنيات تصدير واستيراد قواعد البيانات العملاقة (Gigabytes) دون توقف.

📅 2026-05-25 02:12 👁️ 705 مشاهدة 🧠 متقدم ⏱️ 5 دقيقة قراءة
إعلان

إدارة قواعد البيانات المتقدمة في Plesk

قواعد البيانات (MySQL / MariaDB) هي شريان الحياة لأي تطبيق ويب (WordPress, Laravel). في بيئات الاستضافة المشتركة، قاعدة البيانات هي غالباً نقطة الاختناق الأولى (Bottleneck) التي تسبب بطء الموقع أو توقفه الكامل عن العمل (Error Establishing a Database Connection).

الإنشاء وإدارة الصلاحيات (User Privileges)

من الخطأ الشائع إعطاء موقعين مختلفين نفس مستخدم قاعدة البيانات. في حال تم اختراق الموقع الأول، سيستخدم المخترق نفس البيانات لتفريغ (Drop) جداول الموقع الثاني! Plesk يجبرك على أفضل الممارسات: عند إنشاء قاعدة بيانات، قم بإنشاء Database User جديد، واربطه بقاعدة البيانات الحالية فقط.

للمحترفين: ماذا لو احتجت مستخدماً للوصول إلى قاعدة البيانات عن بُعد (Remote Access) من برنامج خارجي مثل DBeaver أو DataGrip بدلاً من phpMyAdmin؟ من قسم User Access Control، يمكنك السماح بالاتصال من (Any Host) بدلاً من (Localhost Only). تحذير أمني: تفعيل هذا الخيار دون استخدام جدار حماية (Firewall) مقيد بـ IP محدد يُعتبر ثغرة أمنية تدعو لهجمات الـ Brute Force المستمرة على منفذ 3306.

إعلان

استيراد وتصدير قواعد البيانات العملاقة (Gigabytes)

أداة phpMyAdmin المدمجة في Plesk رائعة وسهلة، لكنها تفشل بشكل ذريع إذا حاولت استيراد قاعدة بيانات حجمها يتجاوز 100MB (بسبب قيود PHP لـ Upload Max Size و Execution Time).

كيفية التعامل مع البيانات الضخمة (Enterprise Level):

الطريقة الوحيدة المضمونة هي استخدام سطر الأوامر (CLI). قم برفع ملف الـ SQL العملاق عبر الـ FTP أو File Manager إلى مجلد العميل، ثم ادخل للسيرفر عبر SSH كمدير (root) ونفذ الأمر التالي لضخ البيانات مباشرة للمحرك بأقصى سرعة ممكنة وبدون أي قيود:

# تصدير (Backup) قاعدة بيانات ضخمة في ثوانٍ
plesk db dump database_name > /path/to/backup.sql

# استيراد (Restore) قاعدة بيانات ضخمة
plesk db database_name < /path/to/backup.sql

ملاحظة: أمر plesk db هو اختصار مذهل، حيث يقوم تلقائياً بقراءة كلمة مرور הـ root الخاصة بقاعدة البيانات من إعدادات Plesk الداخلية المخفية، فلا داعي لكتابة mysql -u admin -p إطلاقاً!

مراقبة وتحسين استهلاك قاعدة البيانات

إذا كان السيرفر يعاني من الـ Load، وتريد معرفة الاستعلام (Query) الذي يقتل الأداء، لا يمكنك معرفة ذلك من واجهة Plesk العادية. ستحتاج لتمكين سجل الاستعلامات البطيئة (Slow Query Log).

يتم ذلك عبر تحرير ملف /etc/mysql/my.cnf وإضافة:

slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2

هذا الإعداد سيقوم بتسجيل أي استعلام (SELECT أو UPDATE) يستغرق أكثر من ثانيتين ليتم تنفيذه. كمدير سيرفر، ستقوم بقراءة هذا السجل يومياً وإرساله لمبرمج الموقع ليقوم بعمل فهرسة (Indexing) للجداول وحل المشكلة من الجذور.


تحسين أداء قواعد البيانات (Database Performance Tuning) كالمحترفين

تثبيت قاعدة البيانات وتركها بالإعدادات الافتراضية هو أسوأ قرار يتخذه مدير السيرفر. الإعدادات الافتراضية مصممة لأجهزة ذات 512MB رام! إذا كان سيرفرك أقوى، يجب عليك ضبط المحرك (MariaDB/MySQL) ليستخدم الموارد المتاحة.

تخصيص الـ InnoDB Buffer Pool Size

هذا الإعداد هو الأهم على الإطلاق. الـ Buffer Pool هو مساحة في الذاكرة العشوائية (RAM) يقوم محرك القاعدة بتخزين البيانات والفهارس (Indexes) فيها لكي لا يضطر لقراءتها من القرص الصلب البطيء. القاعدة الذهبية: الـ Buffer Pool يجب أن يكون حوالي 60% إلى 70% من إجمالي الـ RAM في السيرفر (إذا كان السيرفر مخصصاً بالكامل لقواعد البيانات)، أو 30% إذا كان يشاركه سيرفر الويب.

لتغيير ذلك، افتح ملف إعدادات قاعدة البيانات /etc/mysql/my.cnf في لينكس وأضف:

[mysqld]
innodb_buffer_pool_size = 4G
innodb_log_file_size = 1G
max_connections = 500

ثم أعد تشغيل المحرك systemctl restart mariadb. ستلاحظ أن المواقع البطيئة (مثل متاجر WooCommerce المعقدة) أصبحت تفتح في لمح البصر.

إدارة قواعد البيانات البعيدة (Remote Database Servers)

إذا أصبح مشروعك عملاقاً جداً، وضع قاعدة البيانات وسيرفر الويب على نفس الجهاز سيخلق اختناقاً. Plesk يسمح لك بإضافة سيرفر قاعدة بيانات خارجي.

  1. قم بتجهيز سيرفر Linux جديد تماماً، ونصب عليه MariaDB فقط.
  2. في سيرفر Plesk، اذهب لـ Tools & Settings ثم Database Servers.
  3. أضف سيرفر القاعدة الجديد عبر إدخال عنوان الـ IP واسم مستخدم يملك صلاحيات Root.

الآن، عندما ينشئ أي عميل قاعدة بيانات، سيقوم Plesk بإنشائها سراً على السيرفر الخارجي القوي، مما يخفف الحمل عن سيرفر المواقع بنسبة 50%!

استراتيجيات الداتا بيز في المواقع المزدحمة

هل تعاني من مشكلة (Too Many Connections)؟ تحدث هذه المشكلة عندما يكون هناك زوار كثيرون وكل طلب يفتح اتصالاً بقاعدة البيانات ولا يغلقه بسرعة. بينما يقوم المحترفون بتحسين أكواد الـ PHP لإغلاق الاتصال، يمكنك كمدير سيرفر استخدام تقنية Connection Pooling عبر أداة مساعدة مثل ProxySQL لتجميع الاتصالات وتمريرها للمحرك ببطء، مما يمنع انهيار السيرفر تحت ضغط الزيارات المفاجئ.


[توسعة المحترفين] التحسين المتقدم وحل اختناقات قواعد البيانات (Database Architecture & Profiling)

قواعد البيانات هي النقطة التي يفشل فيها 90% من مدراء السيرفرات عند مواجهة ضغط هائل. إليك الأسرار العميقة لمهندسي البيانات.

أداة MySQLTuner: طبيبك الشخصي

لا تعتمد على التخمين في ضبط الـ Buffer Pool أو الـ Cache. هناك أداة سحرية مكتوبة بلغة Perl تسمى MySQLTuner. هذه الأداة تراقب أداء قاعدة البيانات على مدار 24 ساعة، ثم تعطيك توصيات دقيقة حول المتغيرات التي يجب تغييرها. لتشغيلها على سيرفر Plesk:

wget http://mysqltuner.pl/ -O mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl --adminuser root --adminpass `cat /etc/psa/.psa.shadow`

ستظهر لك تحذيرات باللون الأحمر مثل: (Query cache is disabled) أو (Table locks are high). نفذ نصائح هذه الأداة بالحرف الواحد، وستضاعف سرعة قاعدة بياناتك مرات عدة.

تحليل الاستعلامات عبر EXPLAIN

عندما تشتكي من أن الموقع بطيء، قم بتمكين (Slow Query Log) كما ذكرنا في الجزء السابق. عندما تجد الاستعلام البطيء في الـ Log، افتح phpMyAdmin، الصق الاستعلام، وضع قبله كلمة EXPLAIN. مثلاً:

EXPLAIN SELECT * FROM users WHERE last_login > '2023-01-01';

النتيجة ستخبرك هل قامت قاعدة البيانات بفحص 10 صفوف أم 10 ملايين صف للعثور على النتيجة! إذا وجدت الرقم كبيراً ونوع الـ Type هو (ALL)، فهذا يعني أنك تحتاج إلى إنشاء فهرس (Index) على عمود last_login، وهو أمر سيحول سرعة الاستعلام من 5 ثوانٍ إلى 0.01 ثانية.

استراتيجيات الـ Backup Lock-Free

أثناء أخذ Plesk للنسخة الاحتياطية (Backup) لقاعدة البيانات، قد يتم قفل الجداول (Table Lock) للحفاظ على تناسق البيانات. إذا كان المتجر الإلكتروني مزدحماً، قفل الجداول سيوقف المبيعات لدقائق! لتجنب ذلك، تأكد أنك تستخدم محرك InnoDB لجميع جداولك، لأن Plesk (عبر mysqldump) يستخدم خيار --single-transaction الذي يسمح بأخذ النسخة الاحتياطية بأمان تام أثناء استمرار الموقع باستقبال الطلبات والمبيعات دون أي قفل (Zero Lock Backup).

إعلان

مواضيع تهمك

عرض كل الدروس
الدرس الثامن: إدارة شهادات الـ SSL وتأمين المواقع (Let's Encrypt & HSTS)
🧠 متقدم
درس
25 مايو 2026 286

الدرس الثامن: إدارة شهادات الـ SSL وتأمين المواقع (Let's Encrypt & HSTS)

لا يكفي تركيب SSL، بل يجب تفعيل HSTS و OCSP Stapling. سنتعلم كيفية تأمين لوحة Plesk نفسها،...

الدرس السابع: إعداد وتأمين خوادم البريد الإلكتروني (Mail Server Mastery)
🧠 متقدم
درس
25 مايو 2026 297

الدرس السابع: إعداد وتأمين خوادم البريد الإلكتروني (Mail Server Mastery)

بريدك الإلكتروني دائماً في الـ Spam؟ في هذا الدرس سنتعلم إعداد Postfix و Dovecot، وتكوين س...

الدرس العاشر: النسخ الاحتياطي السحابي والانتقال الآلي (Migration & Backups)
🧠 متقدم
درس
25 مايو 2026 576

الدرس العاشر: النسخ الاحتياطي السحابي والانتقال الآلي (Migration & Backups)

النسخ الاحتياطي هو الملاذ الأخير. سنتعلم كيفية ربط Plesk بالسحابة (Google Drive/S3)، وكيفي...

الدرس التاسع: أمان السيرفر و Fail2Ban وجدار حماية Plesk المدمج
🧠 متقدم
درس
25 مايو 2026 280

الدرس التاسع: أمان السيرفر و Fail2Ban وجدار حماية Plesk المدمج

كيف تجعل سيرفرك قلعة لا تُخترق؟ شرح مفصل لاستخدام Plesk Firewall لإغلاق المنافذ، تكوين Fai...

الدرس السادس: أسرار إدارة خوادم الويب (Apache & Nginx) عبر Plesk
🧠 متقدم
درس
25 مايو 2026 521

الدرس السادس: أسرار إدارة خوادم الويب (Apache & Nginx) عبر Plesk

الغوص العميق في محركات الويب. كيف يعمل Nginx كبروكسي عكسي أمام Apache في Plesk؟ وكيف نكتب...

الدرس الرابع: إضافة وإدارة النطاقات والاستضافة (Domains & Hosting)
🧠 متقدم
درس
25 مايو 2026 303

الدرس الرابع: إضافة وإدارة النطاقات والاستضافة (Domains & Hosting)

إضافة نطاق ليس مجرد كتابة اسمه. سنتعلم الفروق المعمارية بين Domains و Subdomains و Aliases...

💬 التعليقات

0 تعليقات

لتتمكن من كتابة تعليق، يجب تسجيل الدخول. تسجيل الدخول
لا توجد تعليقات حتى الآن. كن أول من يكتب تعليقًا.
📑 محتويات المقال