رسالة Error establishing a database connection لا تحدد السبب وحدها. نفذنا أربع محاولات اتصال متطابقة مع تغيير عامل واحد في كل مرة: اتصال صحيح، منفذ مغلق، قاعدة غير موجودة، ومستخدم مرفوض. النتيجة تعطي خريطة قرار أسرع من تغيير كل قيم wp-config دفعة واحدة.
خريطة القرار
- 2002 أو مهلة: افحص تشغيل MySQL والعنوان والمنفذ والجدار الناري.
- 1049: اسم القاعدة غير موجود على ذلك الخادم أو يحتوي بادئة حساب لم تكتبها.
- 1045 أو خطأ مصادقة قريب: راجع المستخدم وكلمة المرور واسم المضيف المسموح له.
- الاتصال يعمل لكن ووردبريس لا يعمل: افحص بادئة الجداول ووجود جداول WordPress ثم الإضافات والسجلات.
كيف تختبر دون كسر الموقع؟
لا تعدل wp-config الحي في كل محاولة. انسخ القيم إلى أداة اختبار محلية أو استخدم لوحة الاستضافة لاختبار المستخدم، وغيّر متغيرًا واحدًا فقط. احتفظ بنسخة من الملف قبل التعديل ولا تنشر نتيجة الاختبار بما فيها كلمة المرور.
قراءة الحالات الأربع بتفصيل أكبر
الاتصال الصحيح: لم نكتف بنجاح المصافحة؛ نفذنا استعلامًا إلى information_schema ووجدنا 12 جدولًا في قاعدة المشروع. هذا يثبت أن الخادم والاعتماد واسم القاعدة يعملون معًا.
المنفذ الخاطئ: استغرقت المحاولة قرابة مهلة الثانيتين ثم عادت 2002. إذا كان الفشل فوريًا أو أبطأ كثيرًا، راجع DNS والجدار الناري وإعداد مهلة PHP بدل افتراض أن كلمة المرور خطأ.
القاعدة المفقودة: عاد 1049 خلال أجزاء من الثانية؛ أي أننا وصلنا إلى MySQL لكن الاسم غير موجود. هذه حالة مختلفة جذريًا عن خادم متوقف.
المستخدم المرفوض: أعادت بيئتنا 1524 بسبب طريقة المصادقة. قد ترى 1045 على خادم آخر. لذلك نبني القرار على الفئة والسجل، لا على حفظ رقم واحد.
ما الذي لا يصلحه هذا الدليل؟
إذا كانت الجداول تالفة، أو بادئة gzt_ لا تطابق الجداول، أو إضافة تنفذ استعلامًا بطيئًا، فقد ينجح الاتصال الأساسي ويبقى الموقع معطلًا. بعد نجاح المصفوفة انتقل إلى صحة الجداول وسجل PHP والإضافات، ولا تستمر بتبديل بيانات الحساب الصحيحة.
المصدر الرسمي
WordPress: إنشاء قاعدة البيانات ومعرفة اسم المضيف والمستخدم.