حل خطأ ⁦Error establishing a database connection⁩ في ووردبريس

هذا الخطأ يعني أن ووردبريس لم يستطع الوصول إلى قاعدة البيانات: بيانات خاطئة في ⁦wp-config.php⁩، أو خدمة قاعدة البيانات متوقفة، أو قرص ممتلئ، أو جداول متضررة. افحصها بهذا الترتيب.

آخر تحديث:

أولًا: راجع بيانات الاتصال

افتح ⁦wp-config.php⁩ في مجلد الموقع وتأكد من ⁦DB_NAME⁩ و ⁦DB_USER⁩ و ⁦DB_PASSWORD⁩ و ⁦DB_HOST⁩. يظهر هذا الخطأ كثيرًا بعد نقل الموقع أو تغيير كلمة مرور القاعدة. و ⁦DB_HOST⁩ هو ⁦localhost⁩ في أغلب الحالات.

جرّب الاتصال يدويًا بالبيانات نفسها. إذا فشل فالبيانات خاطئة أو الخدمة متوقفة، وإذا نجح فالمشكلة في مكان آخر.

⁦console⁩
$ ⁦mysql -u DB⁩_⁦USER -p -h localhost DB⁩_⁦NAME⁩

ثانيًا: هل خدمة قاعدة البيانات تعمل؟

اسمها ⁦mariadb⁩ أو ⁦mysql⁩ حسب خادمك. وإذا كانت تتوقف من نفسها فاقرأ سجلها، فالسبب الشائع على الخوادم الصغيرة هو نفاد الذاكرة، ثم امتلاء القرص.

⁦console⁩
$ ⁦sudo systemctl status mariadb⁩
$ ⁦sudo systemctl restart mariadb⁩
$ ⁦sudo journalctl -u mariadb -n 50⁩

ثالثًا: تأكد من الذاكرة والمساحة

قاعدة البيانات لا تبدأ إذا كان القرص ممتلئًا، وقد يوقفها النظام إذا نفدت الذاكرة.

⁦console⁩
$ ⁦df -h⁩
$ ⁦free -m⁩
$ ⁦sudo dmesg -T⁩ | ⁦grep -i⁩ "⁦out of memory⁩"

رابعًا: أصلح الجداول المتضررة

إذا كانت لوحة ⁦wp-admin⁩ تعرض رسالة عن جداول تحتاج إلى إصلاح، فأضف هذا السطر إلى ⁦wp-config.php⁩ وافتح ⁦example.com/wp-admin/maint/repair.php⁩، ثم احذف السطر فور الانتهاء لأن الصفحة تعمل دون تسجيل دخول.

⁦wp-config.php⁩
$ ⁦define⁩('⁦WP⁩_⁦ALLOW⁩_⁦REPAIR⁩', ⁦true⁩);

على الاستضافة المشتركة

افتح ⁦MySQL Databases⁩ في ⁦cPanel⁩ أو ⁦Databases⁩ في ⁦Plesk⁩، وتأكد أن المستخدم مرتبط بالقاعدة وله كل الصلاحيات. ويمكنك إعادة تعيين كلمة مروره من هناك ثم كتابتها في ⁦wp-config.php⁩.

⁦console⁩
$ ⁦mysqldump -u DB⁩_⁦USER -p DB⁩_⁦NAME⁩ > ⁦backup.sql⁩
هل كانت الصفحة مفيدة؟