خطای «اتصال به پایگاه داده برقرار نشد» یا Error Establishing a Database Connection یکی از خطاهای رایج وردپرس است که معمولاً باعث میشود سایت و گاهی پیشخوان مدیریت بهطور کامل از دسترس خارج شود. این خطا یعنی وردپرس نتوانسته به دیتابیس سایت متصل شود؛ دیتابیسی که نوشتهها، تنظیمات، کاربران، محصولات ووکامرس و بسیاری از اطلاعات اصلی سایت در آن ذخیره میشود.
در بیشتر موارد، علت خطا یکی از این موارد است: اشتباه بودن اطلاعات دیتابیس در فایل wp-config.php، تغییر رمز کاربر دیتابیس، از دسترس خارج شدن سرویس MySQL یا MariaDB، خرابی جداول دیتابیس، محدودیت منابع هاست یا مشکل موقت سمت سرور. در ادامه، مراحل عیبیابی را بهترتیب و با کمترین ریسک بررسی میکنیم.
قبل از شروع عیبیابی چه کاری انجام دهیم؟
اگر به فایلها یا پنل هاست دسترسی دارید، قبل از هر تغییر مهم از فایلهای سایت و دیتابیس بکاپ بگیرید. اگر سایت بهطور کامل از دسترس خارج است، معمولاً هنوز میتوانید از طریق کنترلپنل هاست، مانند cPanel یا DirectAdmin، به File Manager و phpMyAdmin دسترسی داشته باشید.
نکته مهم: بدون اطمینان، دیتابیس یا کاربر دیتابیس را حذف نکنید. حذف دیتابیس میتواند باعث از بین رفتن اطلاعات سایت شود.
معنی خطای اتصال به پایگاه داده در وردپرس چیست؟
وردپرس برای نمایش هر صفحه، باید به دیتابیس متصل شود و اطلاعات موردنیاز را بخواند. اگر این اتصال انجام نشود، بهجای سایت، پیام خطا نمایش داده میشود. این مشکل الزاماً به معنی حذف اطلاعات نیست؛ در بسیاری از مواقع فقط مسیر ارتباطی وردپرس با دیتابیس قطع شده یا اطلاعات اتصال نادرست است.
دلایل رایج خطای اتصال به دیتابیس وردپرس
| علت احتمالی | نشانه رایج | راه بررسی |
|---|---|---|
| اشتباه بودن نام دیتابیس، نام کاربری یا رمز عبور | نمایش خطا بعد از انتقال سایت، تغییر هاست یا تغییر رمز | بررسی فایل wp-config.php و پنل هاست |
| اشتباه بودن DB_HOST | خطا بعد از مهاجرت به هاست جدید | دریافت مقدار صحیح از شرکت هاستینگ |
| از کار افتادن MySQL/MariaDB | چند سایت روی همان هاست همزمان خطا دارند | بررسی وضعیت سرویس یا تماس با پشتیبانی هاست |
| خرابی جداول دیتابیس | خطاهای متناوب یا مشکل در بخشهای خاص سایت | بررسی و تعمیر دیتابیس |
| پر شدن فضای هاست یا محدودیت منابع | خطاهای دورهای، کندی شدید یا اختلال در ذخیرهسازی | بررسی مصرف CPU، RAM، I/O و فضای دیسک |
مرحله اول: بررسی فایل wp-config.php
مهمترین فایل برای اتصال وردپرس به دیتابیس، فایل wp-config.php است. این فایل معمولاً در مسیر اصلی نصب وردپرس قرار دارد؛ همان جایی که پوشههای wp-admin، wp-content و wp-includes را میبینید.
در این فایل باید چهار مقدار اصلی را بررسی کنید:
DB_NAME: نام دیتابیس
DB_USER: نام کاربری دیتابیس
DB_PASSWORD: رمز عبور کاربر دیتابیس
DB_HOST: آدرس میزبان دیتابیس
اگر سایت را به هاست جدید منتقل کردهاید، دیتابیس جدید ساختهاید، رمز کاربر دیتابیس را تغییر دادهاید یا بکاپ را دستی بازگردانی کردهاید، احتمال خطا در همین بخش زیاد است.
نمونه اطلاعات اتصال در wp-config.php
define(‘DB_NAME’, ‘database_name’);
define(‘DB_USER’, ‘database_user’);
define(‘DB_PASSWORD’, ‘database_password’);
define(‘DB_HOST’, ‘localhost’);
در بسیاری از هاستها مقدار DB_HOST برابر localhost است؛ اما همیشه اینطور نیست. بعضی سرویسدهندهها از آدرسهایی مثل IP سرور، نام سرور دیتابیس یا مقدار اختصاصی استفاده میکنند. اگر مطمئن نیستید، مقدار صحیح را از پشتیبانی هاست بپرسید.
مرحله دوم: مطمئن شوید دیتابیس و کاربر آن وجود دارند
از پنل هاست وارد بخش مدیریت دیتابیس شوید. در cPanel معمولاً بخشهایی مانند MySQL Databases و phpMyAdmin وجود دارد. بررسی کنید:
- دیتابیسی با نام ثبتشده در DB_NAME وجود داشته باشد.
- کاربر دیتابیس با نام ثبتشده در DB_USER وجود داشته باشد.
- کاربر به دیتابیس موردنظر متصل شده باشد.
- سطح دسترسی کاربر کافی باشد؛ معمولاً برای وردپرس باید دسترسیهای لازم روی دیتابیس فعال باشد.
در cPanel میتوانید از بخش MySQL Databases کاربر را دوباره به دیتابیس اضافه کنید و سطح دسترسی مناسب را برای آن تنظیم کنید. اگر رمز را نمیدانید، رمز جدید بسازید و همان رمز را دقیقاً در wp-config.php وارد کنید.
مرحله سوم: ورود به phpMyAdmin را بررسی کنید
اگر phpMyAdmin باز میشود و دیتابیس سایت در آن قابل مشاهده است، احتمالاً خود دیتابیس وجود دارد. در این حالت باید بیشتر روی اطلاعات اتصال، دسترسی کاربر یا خرابی جداول تمرکز کنید.
اگر phpMyAdmin هم خطا میدهد یا هیچ دیتابیسی نمایش داده نمیشود، ممکن است مشکل از سرویس دیتابیس، دسترسیهای هاست، حذف یا عدم بازگردانی دیتابیس باشد. در این شرایط بهتر است پیش از هر تغییر، با پشتیبانی هاست هماهنگ کنید.
مرحله چهارم: تعمیر دیتابیس وردپرس
گاهی اطلاعات اتصال درست است، اما برخی جداول دیتابیس دچار خرابی شدهاند. وردپرس یک قابلیت داخلی برای تعمیر دیتابیس دارد. برای فعالکردن موقت آن، خط زیر را به فایل wp-config.php اضافه کنید:
define(‘WP_ALLOW_REPAIR’, true);
سپس در مرورگر آدرس زیر را باز کنید:
example.com/wp-admin/maint/repair.php
بهجای example.com دامنه خودتان را وارد کنید. در صفحه بازشده میتوانید گزینه تعمیر دیتابیس یا تعمیر و بهینهسازی دیتابیس را انتخاب کنید.
مهم: بعد از پایان کار، خط WP_ALLOW_REPAIR را از wp-config.php حذف کنید؛ چون این صفحه بدون ورود به پیشخوان هم قابل دسترسی است.
مرحله پنجم: وضعیت سرویس MySQL یا MariaDB را بررسی کنید
اگر تنظیمات wp-config.php درست است و دیتابیس هم وجود دارد، ممکن است سرویس دیتابیس روی سرور دچار اختلال شده باشد. این موضوع در هاست اشتراکی معمولاً باید توسط پشتیبانی هاست بررسی شود.
نشانههای احتمالی مشکل سمت سرور عبارتاند از:
- چند سایت روی یک هاست همزمان خطای دیتابیس دارند.
- phpMyAdmin باز نمیشود یا کند و ناپایدار است.
- خطا بدون تغییر در سایت، ناگهانی ایجاد شده است.
- بعد از چند دقیقه خطا خودبهخود رفع میشود و دوباره برمیگردد.
در این شرایط، از پشتیبانی بخواهید وضعیت سرویس MySQL/MariaDB، لاگهای سرور، محدودیت منابع و فضای دیسک را بررسی کند.
مرحله ششم: مصرف منابع هاست را کنترل کنید
در سایتهای پربازدید یا فروشگاههای ووکامرسی، افزایش ناگهانی مصرف منابع میتواند باعث قطع اتصال به دیتابیس شود. کوئریهای سنگین، افزونههای غیربهینه، رباتهای مخرب، کرانجابهای زیاد یا کمبود منابع سرور از عوامل رایج هستند.
از پنل هاست، بخش مصرف منابع را بررسی کنید. اگر CPU، RAM، Entry Processes، I/O یا تعداد اتصالهای همزمان به سقف مجاز رسیده باشد، سایت ممکن است بهصورت متناوب خطای دیتابیس نشان دهد.
مرحله هفتم: افزونهها و قالب را بهعنوان عامل غیرمستقیم بررسی کنید
افزونه یا قالب معمولاً مستقیماً باعث اشتباه شدن اطلاعات دیتابیس نمیشود، اما میتواند با ایجاد کوئریهای سنگین، خطاهای برنامهنویسی یا فشار زیاد روی دیتابیس، اتصال را ناپایدار کند. اگر خطا بعد از نصب یا بهروزرسانی افزونهای خاص شروع شده، آن افزونه را بررسی کنید.
اگر به پیشخوان دسترسی ندارید، میتوانید از طریق File Manager یا FTP نام پوشه افزونه موردنظر را در مسیر wp-content/plugins تغییر دهید تا موقتاً غیرفعال شود. اگر نمیدانید کدام افزونه مشکلساز است، ابتدا پوشه plugins را موقتاً تغییر نام دهید و سپس افزونهها را مرحلهبهمرحله فعال کنید.
مرحله هشتم: لاگ خطا را بررسی کنید
برای تشخیص دقیقتر، لاگ خطای هاست و وردپرس بسیار کمککننده است. در بسیاری از هاستها بخشی با عنوان Error Log وجود دارد. همچنین اگر حالت دیباگ وردپرس را فعال میکنید، بهتر است خروجی خطا در فایل ذخیره شود و روی صفحه سایت به کاربران نمایش داده نشود.
نمونه خطاهایی که باید جدی بگیرید شامل خطاهای مربوط به دسترسی کاربر دیتابیس، خطاهای too many connections، خطاهای table crashed یا خطاهای مربوط به کمبود فضای دیسک است.
اگر خطا بعد از انتقال سایت رخ داده است
بعد از مهاجرت از یک هاست به هاست دیگر، خطای اتصال به دیتابیس بسیار رایج است. در این حالت موارد زیر را با دقت بررسی کنید:
- آیا دیتابیس قدیمی بهدرستی در هاست جدید import شده است؟
- آیا نام دیتابیس در هاست جدید با مقدار DB_NAME یکی است؟
- آیا کاربر دیتابیس ساخته شده و به دیتابیس متصل است؟
- آیا رمز عبور کاربر دیتابیس در wp-config.php دقیق و بدون فاصله اضافه وارد شده است؟
- آیا DB_HOST در هاست جدید همان localhost است یا مقدار دیگری باید وارد شود؟
اگر فقط پیشخوان وردپرس خطا میدهد
گاهی صفحه اصلی سایت باز میشود اما پیشخوان خطای دیتابیس نشان میدهد، یا برعکس. این حالت میتواند به خرابی بعضی جداول، کش، افزونه امنیتی، افزونه بهینهسازی یا مشکل در جداول options و usermeta مربوط باشد. در این وضعیت، تعمیر دیتابیس، غیرفعالسازی افزونههای مشکوک و بررسی لاگ خطا میتواند مسیر عیبیابی را روشنتر کند.
چکلیست سریع رفع خطای اتصال به پایگاه داده وردپرس
- از فایلها و دیتابیس بکاپ بگیرید.
- مقادیر DB_NAME، DB_USER، DB_PASSWORD و DB_HOST را در wp-config.php بررسی کنید.
- وجود دیتابیس و کاربر دیتابیس را در پنل هاست کنترل کنید.
- دسترسی کاربر به دیتابیس را بررسی و در صورت نیاز دوباره تنظیم کنید.
- وارد phpMyAdmin شوید و وضعیت دیتابیس را ببینید.
- در صورت نیاز، قابلیت تعمیر دیتابیس وردپرس را موقتاً فعال کنید.
- وضعیت سرویس MySQL/MariaDB و مصرف منابع هاست را بررسی کنید.
- افزونهها، قالب و لاگ خطا را برای یافتن علت اصلی بررسی کنید.
- اگر مشکل سمت سرور است، گزارش دقیق به پشتیبانی هاست ارسال کنید.
چه زمانی باید از پشتیبانی هاست کمک بگیریم؟
اگر اطلاعات دیتابیس را بررسی کردهاید اما خطا همچنان پابرجاست، یا اگر phpMyAdmin هم در دسترس نیست، احتمال مشکل سمت سرور بیشتر میشود. در پیام به پشتیبانی، بهتر است دامنه، زمان شروع خطا، تغییرات اخیر، اسکرینشات خطا و نتیجه بررسی wp-config.php را اعلام کنید. این اطلاعات کمک میکند سریعتر علت مشکل مشخص شود.
جمعبندی
برای رفع خطای اتصال به پایگاه داده وردپرس، ابتدا باید از سادهترین موارد شروع کنید: بررسی فایل wp-config.php، صحت نام دیتابیس و کاربر، رمز عبور و مقدار DB_HOST. سپس سراغ دسترسیهای دیتابیس، phpMyAdmin، تعمیر جداول، وضعیت سرویس دیتابیس و مصرف منابع هاست بروید. با عیبیابی مرحلهبهمرحله، معمولاً میتوان بدون آسیب به اطلاعات سایت، علت خطا را پیدا و برطرف کرد.
