خطای Error establishing a database connection یکی از رایج ترین خطاهایی است که زمانی که میخواهید به وبسایت وردپرسی خود دسترسی پیدا کنید با آن مواجه می شوید. مشاهده این خطا از سوی کاربران چهره مناسبی نخواهد داشت و بسیاری از آنها ممکن است فکر کنند که وبسایت شما برای همیشه به کار خود پایان داده است و دیگر به آن باز نگردند.
برای سایت هایی که از هاست رایگان و یا حتی ارزان استفاده میکنند چند بار مشاهده این خطا در طول ماه امری طبیعی و تکراری شده است. اما چگونه باید این مشکل را حل کرد؟ آیا راهی برای عدم نمایش این خطا در زمان هایی که وردپرس با مشکل مواجه می شود، وجود دارد؟
در مقاله امروز می خواهیم خطای error establishing a database connection وردپرس را بررسی کنیم و راه حل آن را شرح دهیم. با ما همراه باشید…
دیتابیس یا همان بانک اطلاعاتی جایی است که تمامی اطلاعات مهم سایت شما مثل پست ها، کامنت ها، تنظیمات سیستمی، حساب های کاربری، تنظیمات پوسته ها و افزونه ها و… در آن ذخیره می شود. حال اگر ارتباط وردپرس با دیتابیس (Database) برقرار نشود، سایت وردپرسی شما بارگذاری (Load) نحواهد شد و در اکثر مواقع خطای «Error establishing a database connection» به شما و کاربرانتان نمایش داده می شود.
در جوابی کوتاه میتوان گفت که خطای error establishing a database connection وردپرس زمانی مشاهده می شود که وردپرس امکان دسترسی به اطلاعات پایگاه داده یا دیتابیس را از دست داده باشد. اصلی ترین دلایل این رخداد می تواند یکی از مشکل های زیر باشد:
رخداد هر یک از مشکلات بالا میتواند کاربران را به این صفحه ترسناک منتقل کند. ولی این مشکل در سایت های ایرانی معمولا از طرف سرور و خرابی آن رخ میدهد.
مواردی را می توان برای حل این مشکل بررسی کرد که با هم به آنها می پردازیم:
برای اینکه بتوانید خطای «Error establishing a database connection» را عیب یابی و برطرف کنید، نیاز به چند پیشنیاز دارید:
همچنین توصیه میگردد، قبل از اینکه اقدام به بر طرف سازی مشکل «Error establishing a database connection» نمایید، حتماً از تمامی فایل ها و دیتابیس وبسایت وردپرسی خود بکاپ تهیه نمایید.
قدم نخست برای پیدا کردن علت اصلی مشکل، مراجعه به شاخهی wp-admin است تا مطمئن شوید که این پیام خطا در آن بخش هم قابل مشاهده است. برای دسترسی به ناحیه مدیریت وبسایت خود (اگر آدرس پیشفرض وردپرس را تغییر نداده باشید) به آدرس http://www.yourdomain.com/wp-admin مراجعه نمایید (به جای yourdomain.com آدرس دامنه خود را قرار دهید.).
اگر با مراجعه به بخش مدیریت با پیام «One or more database tables are unavailable. The database may need to be repaired» مواجه شدید، وردپرس توانسته است با پایگاه داده ارتباط برقرار کند ولی برخی یا تمام جدولهای بانک اطلاعاتی وردپرس آسیب دیدهاند.
اگر این پیام خطا را مشاهده کردید، خط زیر را در فایل wp-config.php پیش از That’s all… اضافه نمایید تا وردپرس اجازهی تعمیر پایگاه داده را به شما بدهد.
define('WP_ALLOW_REPAIR', true);
سپس تغییرات را ذخیره کنید و سپس آدرس وبسایت خود را وارد کنید. در این زمان با صفحه ای که مربوط به تعمیرات پایگاه داده می باشد رو به رو خواهید شد.
با کمک گزینه های موجود می توانید خطای Error establishing a database connection وردپرس را رفع کنید. اما اگر با کمک این گزینه، مشکل همچنان به قوت خود باقیست گزینه ی بعدی را امتحان می کنیم…
توجه: به دلیل مسائل امنیتی چه روش بالا مشکل را حل کرد و چه حل نشد، فوراً کد بالا را که در فایل جایگذاری کردید حذف نمایید.
به جرأت می توان گفت که فایل wp-config.php مهم ترین فایل در وردپرس و نصب آن به حساب می آید و می تواند وبسایت وردپرسی را به پایگاه داده متصل کند. در گام اول شما باید موارد زیر را حتما در نظر بگیرید و آن ها را بررسی کنید:
define('DB_NAME', 'database_name'); define('DB_USER', 'database_username'); define('DB_PASSWORD', 'database_password'); define('DB_HOST', 'localhost');
اگر سایت را به تازگی راهاندازی کردهاید و پیش از این سایت در دسترس نبوده است، به احتمال زیاد یکی از اطلاعات نشانی سرور، نام پایگاه داده، نام کاربری یا گذرواژهی وارد شده در فایل wp-config.php نادرست است.
معمولا گزینه ی مربوط به DB_Host را به صورت پیش فرض یعنی همان localhost قرار می دهیم. اما ممکن است برخی از هاستینگ ها نامی دیگر تعریف کرده باشند که می توانید از هاستینگ خود بپرسید.
اگر تا به حال نام کاربری و یا گذرواژه دیتابیس خود را تغییر داده اید، باید حتماً اطلاعات آن ها را نیز در این فایل به روز رسانی نمایید.
اگر تمام موارد بالا صحیح بود و هنوز مشکل شما برطرف نشده پس میتوان گفت یقیناً مشکل از سمت سرور شماست. برای حل این مشکل به مرحله بعد میرویم.
گاهی اوقات ترافیک سایت شما به حدی بالاست که هاست یا سرور جوابگوی آن نیست و در نتیجه مواجه شدن با خطای Error establishing a database connection وردپرس امری عادی است.
در این صورت اگر از هاست اشتراکی استفاده میکنید و دسترسی به سرور ندارید میتوانید با پشتیبانی هاستینگ خود تماس بگیرید یا اگر دسترسی SSH به سرور دارید، میتوانید با استفاده از راهنمای زیر خودتان مشکل را بررسی و برطرف کنید.
جهت بررسی وضعیت سرویس MySQL با استفاده از SSH دستور زیر را وارد نمایید:
systemctl status mysql
یا اینکه میتونید با استفاده از دستور زیر بررسی کنید که آیا پردازش مربوط به MySQL در لیست پردازش های فعال سرور شما قرار دارد یا خیر.
ps aux | grep mysql
اگر سرویس MySQL شما در حال اجرا نبود و متوقف شده بود میتوانید با استفاده از دستور زیر آن را راه اندازی کنید:
systemctl start mysql
همچنین در چنین مواردی ممکن است بخواهید از میزان RAM آزاد و قابل استفاده سرور خود اطلاع یابید که برای این منظور میتوانید دستور زیر را اجرا کنید. این دستور میزان RAM آزاد و در دسترس سرور شما را نمایش خواهد داد:
free -m
اگر این میزان بسیار کم بود، شاید بهتر باشد که پلن سرور خود را ارتقاء دهید تا در آینده مجدد دچار این مشکل نشوید.
در بیشتر مواقع خطای Error establishing a database connection با استفاده از یکی از روش های بالا قابل حل است.
قطعاً اگر یکی از کاربران سرویس هاست اشتراکی و یا هاست ویژه وردپرس ایزی هاست باشید، نیازی به انجام هیچ کاری ندارید و فقط کافیست با واحد پشتیبانی ایزی هاست تماس بگیرید تا یکی از کارشناسان حرفه ای ما این مشکل را برای شما برطرف نماید. ما ۲۴/۷ در دسترس هستیم و به زودی به درخواست های شما رسیدگی میکنیم.