رفع خطای Error Establishing a Database Connection در وردپرس (سرور و لوکال هاست)
خطای “Error Establishing a Database Connection” (خطا در برقراری ارتباط با پایگاه داده وردپرس) یکی از رایجترین و در عین حال نگرانکنندهترین خطاهایی است که کاربران وردپرس با آن روبرو میشوند. این خطا به این معنی است که سایت شما نتوانسته به دیتابیس متصل شود و در نتیجه، به طور کامل از دسترس خارج میشود. این مشکل error establishing a database connection میتواند هم روی سرورهای آنلاین و هم در محیطهای توسعه محلی مانند لوکال هاست یا XAMPP رخ دهد.
این راهنما به صورت یک چکلیست قدم به قدم، تمام دلایل احتمالی را بررسی کرده و به شما کمک میکند تا سایت خود را در سریعترین زمان ممکن آنلاین کنید. برای عیبیابی این خطا، داشتن دسترسی به فایلها و دیتابیس ضروری است که با خرید سرور مجازی این کنترل کامل در اختیار شما قرار میگیرد.
قدم اول: بررسی اطلاعات اتصال به دیتابیس در فایل wp-config.php
این شایعترین دلیل بروز این خطاست. کوچکترین اشتباه تایپی در اطلاعات اتصال به پایگاه داده در فایل اصلی وردپرس، ارتباط را قطع میکند.
- از طریق فایل منیجر هاست یا FTP، به ریشه سایت وردپرسی خود بروید و فایل
wp-config.php
را برای ویرایش باز کنید. - مطمئن شوید که مقادیر زیر با اطلاعات دیتابیسی که در هاست خود ایجاد کردهاید، دقیقا مطابقت دارد:
- DB_NAME: نام دیتابیس شما
- DB_USER: نام کاربری دیتابیس
- DB_PASSWORD: رمز عبور دیتابیس
- DB_HOST: میزبان دیتابیس (در اکثر موارد
localhost
است).
define('DB_NAME', 'database_name_here'); define('DB_USER', 'username_here'); define('DB_PASSWORD', 'password_here'); define('DB_HOST', 'localhost');
قدم دوم: بررسی وضعیت سرور دیتابیس
گاهی اوقات ممکن است خود سرویس دیتابیس (MySQL یا MariaDB) روی سرور شما از کار افتاده باشد.
- اگر از کنترل پنل (cPanel/DirectAdmin) استفاده میکنید: وارد پنل مدیریت هاست خود شده و به بخش “Service Status” یا “Service Monitor” بروید و از فعال بودن سرویس MySQL/MariaDB مطمئن شوید.
- اگر به سرور دسترسی SSH دارید: با دستور زیر میتوانید وضعیت سرویس را بررسی کنید:
sudo systemctl status mariadb
اگر سرویس متوقف شده بود، با دستور
sudo systemctl start mariadb
آن را راهاندازی کنید.
قدم سوم: تعمیر پایگاه داده وردپرس
در موارد نادر، ممکن است دیتابیس شما دچار خرابی (corruption) شده باشد. وردپرس یک ابزار داخلی برای تعمیر خودکار دیتابیس دارد.
- فایل
wp-config.php
را باز کنید و کد زیر را قبل از خط/* That's all, stop editing! */
اضافه کنید:define('WP_ALLOW_REPAIR', true);
- حالا آدرس زیر را در مرورگر خود باز کنید (نام دامنه خود را جایگزین کنید):
http://yourdomain.com/wp-admin/maint/repair.php
- شما باید صفحهای مشابه تصویر زیر را ببینید. با کلیک کردن بر روی دکمه Repair Database، وردپرس تلاش میکند جداول دیتابیس را تعمیر کند.

صفحه تعمیر دیتابیس وردپرس
نکته بسیار مهم: پس از اتمام کار، حتما کدی که به فایل wp-config.php
اضافه کرده بودید را حذف کنید، زیرا این صفحه نباید برای عموم در دسترس باشد.
قدم چهارم: بررسی تداخل افزونهها یا قالب
یک افزونه یا قالب معیوب نیز میتواند باعث بروز این خطا شود. برای بررسی، از طریق فایل منیجر به مسیر /wp-content/
بروید و نام پوشه plugins
را به plugins_disabled
تغییر دهید. اگر سایت بالا آمد، مشکل از یکی از افزونههاست.
عیبیابی خطا در محیطهای محلی (لوکال هاست و XAMPP)
بسیاری از توسعهدهندگان هنگام کار با وردپرس روی کامپیوتر شخصی خود با این خطا مواجه میشوند. اگر شما با خطا در برقراری ارتباط با پایگاه داده در لوکال هاست یا خطا در برقراری ارتباط با پایگاه داده در xampp روبرو شدهاید، دلایل آن معمولا سادهتر هستند:
۱. مطمئن شوید سرویس دیتابیس فعال است
در نرمافزارهایی مانند XAMPP یا WAMP، باید از طریق کنترل پنل برنامه مطمئن شوید که سرویسهای Apache و MySQL (MariaDB) هر دو در حال اجرا (Running) و به رنگ سبز هستند. اگر سرویس MySQL شما فعال نباشد، این خطا رخ میدهد.
۲. اطلاعات پیشفرض wp-config.php را بررسی کنید
در یک نصب استاندارد وردپرس روی لوکال هاست، اطلاعات دیتابیس معمولا به شکل زیر است. این مقادیر را با فایل wp-config.php
خود مقایسه کنید:
define('DB_NAME', 'نام_دیتابیسی_که_ساختهاید');
define('DB_USER', 'root');
define('DB_PASSWORD', ''); // رمز عبور معمولا خالی است
define('DB_HOST', 'localhost');
شایعترین اشتباه، قرار دادن رمز عبور برای کاربر root
است، در حالی که در اکثر نصبهای XAMPP، این کاربر به صورت پیشفرض رمز عبوری ندارد.
فهرست تیترها