المدوّنة · ووردبريس

«خطأ في إنشاء اتصال بقاعدة البيانات» في ووردبريس: الأسباب والحلول

المعمار · · 3 دقائق قراءة

«خطأ في إنشاء اتصال بقاعدة البيانات» في ووردبريس: الأسباب والحلول

تعد رسالة «خطأ في إنشاء اتصال بقاعدة البيانات» (Error establishing a database connection) من أكثر أخطاء ووردبريس المربكة لأصحاب المواقع، إذ تمنع الزوار والمدراء من الوصول للموقع كلياً دون توضيح السبب المباشر. في هذا الدليل نستعرض أسباب العطل الرئيسية وحلولها العملية بالترتيب من الأكثر شيوعاً.

السبب 1: خطأ في بيانات الاتصال داخل wp-config.php#

يحدث هذا عادة بعد نقل الموقع، أو تغيير كلمة مرور قاعدة البيانات من لوحة التحكم دون تحديث الملف. تأكد من صحة القيم الأربع الأساسية داخل ملف wp-config.php:

define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );

لاختبار صحة هذه البيانات بدقة من سطر الأوامر على خادمك، شغّل أمر الاتصال المباشر:

mysql -u USERNAME -p'PASSWORD' -h localhost DATABASE_NAME -e "SELECT 1;"

إذا ظهرت القيمة 1 فإن البيانات صحيحة والمشكلة في مكان آخر. وإذا ظهر خطأ Access denied for user، فيجب إعادة تعيين صلاحيات المستخدم أو التأكد من تطابق كلمة المرور.

السبب 2: توقف خدمة MySQL أو انهيارها بسبب استهلاك الذاكرة#

في الخوادم المشتركة أو الافتراضية الصغيرة (VPS بذاكرة 1 جيجابايت)، قد تنفد الذاكرة العشوائية (Out Of Memory - OOM) فيقوم نظام لينكس بقتل خدمة MySQL تلقائياً لحماية الخادم من التجمد.

افحص حالة خدمة MySQL عبر SSH:

sudo systemctl status mysql

(أو mariadb بحسب التوزيعة المستخدمة).

إذا كانت الخدمة متوقفة (Inactive/Dead)، أعد تشغيلها:

sudo systemctl restart mysql

إذا تكرر توقف الخدمة، افحص سجل قتل العمليات بالأمر dmesg -T | grep -i oom، والحل الجذري هو ترقية ذاكرة الخادم أو إنشاء مساحة تبديل (Swap Space) لتفادي انهيار قاعدة البيانات.

السبب 3: تلف أحد جداول قاعدة البيانات#

إذا كانت واجهة الموقع تظهر خطأ اتصال بينما لوحة التحكم /wp-admin تظهر رسالة تفيد بتلف أحد الجداول، فإن الحل هو استخدام أداة الإصلاح المدمجة في ووردبريس.

أضف السطر التالي في ملف wp-config.php قبل عبارة /* That's all, stop editing! */:

define('WP_ALLOW_REPAIR', true);

ثم افتح الرابط التالي في متصفحك:

https://yourdomain.com/wp-admin/maint/repair.php

واختر Repair and Optimize Database (إصلاح وتحسين قاعدة البيانات).

تحذير: تفعيل خيار WP_ALLOW_REPAIR يتيح لأي زائر الوصول إلى صفحة إصلاح قاعدة البيانات وتشغيل أوامر فحص الجداول دون تسجيل دخول. يجب حذف هذا السطر فوراً من ملف wp-config.php بمجرد الانتهاء من عملية الإصلاح.

السبب 4: وصول قاعدة البيانات إلى الحد الأقصى للاتصالات المتزامنة#

عند تعرض الموقع لضغط زيارات مفاجئ أو هجمات DDoS، قد تستنفد جميع الاتصالات المتاحة لقاعدة البيانات (Too many connections). افحص عدد الاتصالات في MySQL:

SHOW GLOBAL STATUS LIKE 'Max_used_connections';
SHOW VARIABLES LIKE 'max_connections';

إذا كانت القيمة القصوى مساوية للمتغير، يمكنك زيادة حد الاتصالات في ملف /etc/mysql/my.cnf وضبط التخزين المؤقت (Object Cache) عبر Redis لتخفيف الضغط المباشر على قاعدة البيانات.

المصادر#

التعليقات

كن أول من يشارك رأيه أو تجربته.

أضف تعليقاً أو سؤالاً

سجّل الدخول لتعجب بالتعليقات المفيدة وترفعها لأعلى النقاش. سجّل الدخول

لا يُنشر، ولا نرسل إليه شيئاً.

يظهر التعليق بعد مراجعته. الروابط لا تُفعَّل.

تبني موقعاً عربياً؟

سكربتات وقوالب وإضافات وخوادم — مصمّمة للمواقع العربية.

تصفّح المنتجات