یکی از خطاهای رایجی که اکثر کاربران سیستم مدیریت محتوای وردپرس با آن مواجه میشوند، خطا در برقراری ارتباط با پایگاه داده یا همان error establishing database connection است.
به وجود آمدن این خطا ممکن است دلایل مختلفی داشته باشد. برای مثال عدم پاسخگویی از سمت پایگاه داده، بروز خطا در پایگاه داده، اشتباه در یوزرنیم و پسورد و… . این خطا ظاهری بسیار جدی دارد. اما مانند تمامی خطاهای وردپرس، قابل حل است.
در این مطلب قصد داریم بیشتر به جزئیات این خطا بپردازیم و راه حل آن را پیدا کنیم. قبل از اینکه هر اقدامی انجام دهید، توصیه میکنیم ابتدا از فایلها و اطلاعات موجود در هاست خود یک فایل بک آپ تهیه کنید.
چرا خطای error establishing database connection را دریافت میکنم؟
دلیل اصلی به وجود آمدن خطای error establishing database connection ناتوانی وردپرس در برقراری ارتباط با پایگاه داده است. اما چرا این ارتباط برقرار نمیشود؟
احتمالات بسیاری برای این امر وجود دارد. اما برخی موارد از دیگر دلایل محتملتر هستند. برای مثال شاید اطلاعات وارد شده جهت لاگین به داشبورد وردپرس (رمز عبور و نام کاربری) را اشتباه وارد کرده باشید.
شاید مشکل از سرویس دهنده دیتابیس باشد و شاید هم آسیبی در خود پایگاه داده رخ داده باشد و خطا درونی باشد. گاهی اوقات حتی در ساعات اوج بازدیدهای سایت خطای error establishing database connection را دریافت میکنیم، که علت آن عدم توانایی پاسخگویی پایگاه داده به حجم بالای ترافیک سرازیر شده به وبسایت است.
زمانی که این ارور اتفاق میافتد، کاربران با یک صفحه سفید مواجه میشوند، که شامل عبارت error establishing database connection است. یک صفحه سفید، که به علت عدم توانایی ارتباط با پایگاه داده، هیچ محتوایی در آن نمایش داده نمیشود. این خطا نه تنها در صفحات اصلی سایت در صفحه ورود ادمین نیز نمایش داده خواهد شد.
رمز و نام دیتابیس را چک کنید
ابتداییترین کاری که برای رفع خطای error establishing database connection میتوانید انجام دهید، بررسی اطلاعات لاگین دیتابیس است.
یکی از محتملترین دلایل مشاهده خطای error establishing database connection اطلاعات نادرست وارد شده در وردپرس است. اکثر اوقات زمانی که کاربران به یک هاست جدید مهاجرت میکنند، این اتفاق رخ میدهد.
اطلاعاتی نظیر نام کاربری، رمز عبور و همچنین تمامی جزئیات مربوط به پایگاه داده در فایلی به اسم wp-config ذخیره میشوند. در این فایل تعدادی اطلاعات اساسی جهت لاگین به داشبورد وردپرس وجود دارد که صحیح بودن این اطلاعات برای سایت حیاتی است. در این فایل مطمئن شوید که مقادیر Database Name، MySQL database username، MySQL database password و همچنین MySQL hostname (server) به درستی وارد شده باشند.
نام دیتابیس: define(‘DB_NAME’, ‘xxxxxx’);
نام کاربری: define(‘DB_USER’, ‘xxxxxx’);
رمز عبور: define(‘DB_PASSWORD’, ‘xxxxxxxxx’);
نشانی دیتابیس: define(‘DB_HOST’, ‘localhost’);
نکته: برخی از سرویس دهندگان هاست نشانی دیتابیس را با عبارت localhost مشخص نمیکنند و از نامی دیگر به صورت پیش فرض استفاده میکنند. (توصیه ما این است در اکثر اوقات از آدرس IP برای نشانی هاست استفاده کنید تا همیشه از درستی آن مطمئن باشید)
خرابی دیتابیس را تعمیر کنید
دلایل زیادی برای خرابی دیتابیس وجود دارد. اما از شایعترین دلایل آن میتوان به عدم سازگاری برخی از قالبها و پلاگینها با ساختار سایت شما اشاره کرد.
از آنجایی که ممکن است در طول زمان کاربران، قالبها و مخصوصا پلاگینهای بسیاری را روی وردپرس خود نصب کنند، احتمال بروز این اتفاق خیلی بیشتر است.
بسیاری از کاربران افزونههای زیادی را نصب و حذف میکنند و این مسئله ممکن است اختلالی در جدولهای دیتابیس به وجود بیاید و یا به طور اتفاقی برخی از Tableها را حذف کند. در نتیجه این کار، شاهد خرابی دیتابیس خواهیم بود.
حتی اگر تمامی فایلها به درستی بارگذاری شوند، باز هم جابجایی جدولها به خرابی سایت منجر میشود. یک راه حل این است که با وارد کردن یک خط کد در فایل wp-config ، نسبت به بهینه سازی دیتابیس وبسایت خود اقدام کنید.
برای این کار بعد از ورود به پنل هاست خود به دنبال فایل wp-config باشید و قطعه کد زیر را به این فایل اضافه کنید:
define('WP_ALLOW_REPAIR', true);
سپس به آدرس www.yourwebsite.com/wp-admin/maint/repair.php بروید. در این صفحه جدید دو گزینه برای شما ظاهر میشود به نامهای تعمیر پایگاه داده و تعمیر و بهینهسازی پایگاه داده که هر دو کاری تقریبا مشابه انجام میدهند. با این تفاوت که گزینه تعمیر و بهینهسازی زمان بیشتری برای بهینه سازی و رفع نقصها صرف میکند.
فایلهای آسیب دیده را تصحیح کنید
یکی دیگر از احتمالات، خرابی فایلهای وردپرس است. دلیل خرابی این فایلها میتواند دسترسی افراد سودجو به وردپرس، نقص در انتقال فایلها از طریق FTP یا نقص در سرویس ارائه شده توسط سرویس دهنده هاست وبسایت شما باشد.
باز هم توصیه میکنیم قبل از هر اقدامی جهت رفع این مشکل ابتدا یک نسخه پشتیبان از تمامی اطلاعات وردپرس خود تهیه کنید.
کاری که شما باید انجام دهید جایگزینی فایل نصب شده وردپرس با نسخه جدید آن است. توجه کنید که منظور از فایل نصب شده پلاگینها، قالبها و … نیست و فقط منظور هسته اصلی وردپرس است. برای اینکار آخرین نسخه وردپرس را از وبسایت رسمی وردپرس دانلود کنید. بعد از دانلود باید:
- فایل دانلود شده را از حالت فشرده سازی خارج کنید – UnZip
- در پوشه باز شده به دنبال فایل wp-content و wp-config-sample.php باشید و هر دو را حذف کنید.
- در نهایت فایلهای باقی مانده را از طریق SFTP در هاست خود آپلود کنید تا جایگزین فایلهای پیشین شوند.
این کار باعث میشود تا فایلهای خراب با فایلهای سالم و جدید جایگزین شوند و مشکل برطرف شود. بعد از تمامی این مراحل توصیه میکنیم تا حافظه Cache مرورگر خود را پاک کنید و سپس از وبسایت وردپرس خود بازدید کنید.
آخرین راهکار: بکاپ را بازیابی کنید
در آخر اما اگر هیچ راهکاری راهگشا نبود، میتوانید آخرین بکاپ سایت را بازیابی کنید. بازیابی بکاپ یکی از سریعترین اقدامات جهت رفع خطای error establishing database connection است. البته در صورتی میتوانید به سراغ این راه حل بروید، که نگران از دست دادن فایلهایی که در آخرین بک آپ موجود نیستند نباشید.
آموزش بازیابی وردپرس از بکاپ را میتوانید در مطلب دیگر ما پیدا کنید.