حل خطأ Error establishing a database connection في ووردبريس
هذا الخطأ يعني أن ووردبريس لم يستطع الوصول إلى قاعدة البيانات: بيانات خاطئة في wp-config.php، أو خدمة قاعدة البيانات متوقفة، أو قرص ممتلئ، أو جداول متضررة. افحصها بهذا الترتيب.
آخر تحديث:
أولًا: راجع بيانات الاتصال
افتح wp-config.php في مجلد الموقع وتأكد من DB_NAME و DB_USER و DB_PASSWORD و DB_HOST. يظهر هذا الخطأ كثيرًا بعد نقل الموقع أو تغيير كلمة مرور القاعدة. و DB_HOST هو localhost في أغلب الحالات.
جرّب الاتصال يدويًا بالبيانات نفسها. إذا فشل فالبيانات خاطئة أو الخدمة متوقفة، وإذا نجح فالمشكلة في مكان آخر.
$ mysql -u DB_USER -p -h localhost DB_NAMEثانيًا: هل خدمة قاعدة البيانات تعمل؟
اسمها mariadb أو mysql حسب خادمك. وإذا كانت تتوقف من نفسها فاقرأ سجلها، فالسبب الشائع على الخوادم الصغيرة هو نفاد الذاكرة، ثم امتلاء القرص.
$ sudo systemctl status mariadb $ sudo systemctl restart mariadb $ sudo journalctl -u mariadb -n 50
ثالثًا: تأكد من الذاكرة والمساحة
قاعدة البيانات لا تبدأ إذا كان القرص ممتلئًا، وقد يوقفها النظام إذا نفدت الذاكرة.
$ df -h $ free -m $ sudo dmesg -T | grep -i "out of memory"
رابعًا: أصلح الجداول المتضررة
إذا كانت لوحة wp-admin تعرض رسالة عن جداول تحتاج إلى إصلاح، فأضف هذا السطر إلى wp-config.php وافتح example.com/wp-admin/maint/repair.php، ثم احذف السطر فور الانتهاء لأن الصفحة تعمل دون تسجيل دخول.
$ define('WP_ALLOW_REPAIR', true);على الاستضافة المشتركة
افتح MySQL Databases في cPanel أو Databases في Plesk، وتأكد أن المستخدم مرتبط بالقاعدة وله كل الصلاحيات. ويمكنك إعادة تعيين كلمة مروره من هناك ثم كتابتها في wp-config.php.
$ mysqldump -u DB_USER -p DB_NAME > backup.sql
