خطای «Error establishing a database connection» در وردپرس به این معناست که وبسایت شما نمیتواند با دیتابیس ارتباط برقرار کند؛ در نتیجه، سایت بارگذاری نمیشود این ارور نمایش داده میشود.
این مشکل یکی از رایجترین ارورهای وردپرس است که طبق گزارشهای Hostinger، بیشتر به دلیل تنظیمات نادرست پایگاه داده، خرابی فایلها یا مشکلات سرور رخ میدهد. خبر خوب اینکه رفع آن پیچیده نیست؛ کافی است علت اصلی را پیدا کنید و اقدامات درست را انجام دهید.
در ادامه، دقیقترین دلایل بروز این خطا و راهکارهای عملی برای رفع و پیشگیری از آن را بررسی میکنیم.
ارور «خطا در برقراری ارتباط با پایگاه داده» چیست؟
خطای «خطا در ایجاد اتصال به پایگاه داده» یکی از مشکلات رایج وردپرس است و زمانی رخ میدهد که فایلهای وبسایت (PHP) نتوانند با پایگاه داده یا همان دیتابیس ارتباط برقرار کنند.
به زبان سادهتر:
وردپرس با زبان PHP اجرا میشود و تمام محتوا و تنظیمات سایت در پایگاه داده ذخیره شدهاند. وقتی بازدیدکنندهای سایت شما را باز میکند، کد PHP اطلاعات مورد نیاز را از پایگاه داده درخواست میکند و سپس وردپرس آنها را در قالب یک صفحه وب کامل نمایش میدهد.
اگر PHP نتواند به پایگاه داده متصل شود، این فرایند متوقف شده و پیام خطا نمایش داده میشود؛ در این حالت نه سایت برای کاربر بارگذاری میشود و نه شما میتوانید به پیشخوان وردپرس دسترسی داشته باشید.
برای درک بهتر موضوع، پیشنهاد میکنم مقالۀ «دیتابیس یا پایگاه داده چیست و چه انواعی دارد؟» را مطالعه کنید تا نقش حیاتی آن را بهتر بشناسید.
چه عواملی باعث خطای برقراری اتصال با پایگاه داده در وردپرس میشوند؟
دلایل مختلفی وجود دارد که باعث میشوند وردپرس نتواند با پایگاه داده خود ارتباط برقرار کند و این خطا ظاهر شود. رایجترین آنها عبارتاند از:
پیکربندی پایگاه داده اشتباه است
شایعترین علت خطا در برقراری ارتباط با پایگاه داده، پیکربندی نادرست دیتابیس است. فایل wp-config.php شامل اطلاعات مهم پایگاه داده مانند نام پایگاه داده، نام کاربری، رمز عبور و هاست است و اگر یکی از این موارد اشتباه باشد، وردپرس نمیتواند به پایگاه داده متصل شود.
پایگاه داده خراب شده است
جداول پایگاه داده وردپرس ممکن است پس از نصب یا بهروزرسانی افزونهها و قالبها، یا به دلیل خاموش شدن ناگهانی سرور خراب شوند. در این حالت، وردپرس نمیتواند دادهها را بازیابی کند و این خرابی میتواند اتصال سایت به پایگاه داده را مسدود کند.
فعالسازی حالت دیباگ وردپرس میتواند به شما کمک کند منبع خطا را راحتتر شناسایی کنید.
فایلهای اصلی وردپرس خراب شدهاند
گاهی مشکل نه از خود دیتابیس، بلکه از هسته وردپرس است. اگر فایلهای اصلی وردپرس بهدلیل بهروزرسانی ناقص یا انتقال اشتباه آسیب ببینند، فرآیند ارتباط با پایگاه داده متوقف خواهد شد.
⭐ محتوای مرتبط: چرا باید .htaccess دیفالت باشد؟ آموزش ساخت فایل htaccess پیشفرض در وردپرس |
سرور پایگاه داده در دسترس نیست
حتی اگر همه چیز در سمت وردپرس و دیتابیس درست باشد، باز هم ممکن است مشکل از سرور باشد. هنگامی که ترافیک سایت بالا میرود یا سرور دچار اختلال میشود، پایگاه داده قادر به پاسخگویی نخواهد بود. این وضعیت معمولاً موقتی است.
آدرس سایت یا URL نادرست است
پس از انتقال سایت به هاست یا دامنه جدید، اگر URLها در پایگاه داده بهروزرسانی نشوند، ممکن است ارتباط با پایگاه داده قطع شود یا خطاهای ریدایرکت ایجاد شود.
حالا بیایید مرحلهبهمرحله ببینیم چگونه میتوان این خطا را در وردپرس رفع کرد.
چگونه ارور «خطا در برقراری اتصال با پایگاه داده» در وردپرس را رفع کنیم؟
همانطور که دیدیم، دلایل متعددی میتوانند باعث شوند ارتباط وردپرس با پایگاه داده قطع شود. خوشبختانه برای هر کدام از این علتها راهحل مشخصی وجود دارد.
قبل از امتحان کردن هر یک از این روشها، حتماً از سایت وردپرس خود یک نسخه پشتیبان تهیه کنید. با این کار، در صورت بروز هر مشکلی هنگام عیبیابی، میتوانید سایت خود را بهراحتی بازیابی کنید.
۱) اطلاعات ورود به دیتابیس را چک کنید
اولین قدم، بررسی فایل wp-config.php است. در این فایل، نام پایگاه داده (DB_NAME)، نام کاربری (DB_USER)، رمز عبور (DB_PASSWORD) و آدرس میزبان (DB_HOST) ذخیره میشوند.
- ابتدا وارد کنترلپنل هاست خود شوید و نام پایگاه داده و نام کاربری را از پنل یادداشت کنید.
- با File Manager یا FTP، فایل wp-config.php را در روت سایت (معمولاً public_html) باز کنید و مقادیر زیر را پیدا کنید:
- مقادیر DB_NAME، DB_USER و DB_PASSWORD را با اطلاعات موجود در پنل دیتابیس مقایسه کنید و در صورت اختلاف، آنها را اصلاح و فایل را ذخیره کنید. سپس سایت را رفرش کنید تا ببینید مشکل حل شده یا نه.
نکته: اگر رمز کاربری دیتابیس را نمیدانید، از پنل دیتابیس (یا phpMyAdmin) یک رمز جدید تنظیم کنید و آن را در wp-config.php بهروزرسانی کنید.
⭐ محتوای مرتبط: آموزش نحوه رفع خطای cURL28 یا Connection Timed Out |
۲) وضعیت سرور دیتابیس را بررسی کنید
اگر اطلاعات ورود درست باشد، احتمال دارد سرور دیتابیس داون شده یا تحت فشار باشد. برای اطمینان، میتوانید سایت دیگری که روی همان سرور قرار دارد را تست کنید یا از پشتیبانی هاستینگ وضعیت سرور MySQL را جویا شوید.
۳) حالت Repair پایگاه داده وردپرس را فعال کنید
اگر جدولها خراب شدهاند، از قابلیت تعمیر داخلی وردپرس استفاده کنید:
- با File Manager فایل wp-config.php را باز کنید.
- در انتهای فایل (قبل از /* That’s all, stop editing! Happy blogging. */) کد زیر اضافه کنید:
define( 'WP_ALLOW_REPAIR', true );
- فایل را ذخیره کنید.
- در مرورگر به آدرس زیر بروید (آدرس سایت خود را جایگزین کنید): http://your-site-domain.com/wp-admin/maint/repair.php
- در صفحه بازشده روی Repair Database یا Repair and Optimize Database کلیک کنید.
پس از اتمام فرایند، حتماً خط define(‘WP_ALLOW_REPAIR’, true); را از wp-config.php حذف کنید (فعال بودن موقت این گزینه امنیتی نیست).
۴) فایلهای اصلی خراب وردپرس را جایگزین کنید
اگر هسته وردپرس آسیب دیده باشد، ارتباط پایگاه داده مختل میشود. برای حل این مشکل، باید یک نسخه تازه از وردپرس را دانلود و فقط فایلهای هسته را جایگزین کنید (بدون دستزدن به wp-content):
- از wordpress.org آخرین نسخه را دانلود کنید و از حالت فشرده خارج کنید.
- پوشه wp-content و فایل wp-config-sample.php را از پوشه استخراجشده حذف کنید (تا محتوا و کانفیگ شما دستنخورده بماند).
- با FTP (FileZilla) یا File Manager، فایلها را به ریشه سایت آپلود و روی فایلهای موجود بازنویسی (overwrite) کنید.
پس از آپلود، سایت را چک کنید. اگر مشکل از فایلهای خراب بود، معمولاً رفع میشود.
۵) دیتابیس جدید بسازید و نسخه پشتیبان را بازیابی کنید
اگر دیتابیس خیلی خراب شده و Repair کفایت نمیکند، ساخت یک دیتابیس جدید و ایمپورت بکاپ امنترین راه است. چون قبلاً در مقالات جداگانه نحوه ساخت دیتابیس را کامل توضیح دادایم، به همان ارجاعتان میدهیم:
- آموزش ساخت دیتابیس MySQL در phpMyAdmin
- آموزش ساخت دیتابیس در دایرکت ادمین (تصویری و گامبهگام)
- آموزش قدمبهقدم ساخت پایگاه داده در سیپنل
۶) آدرس سایت وردپرس را آپدیت کنید
اگر این خطا پس از مهاجرت سایت یا تغییر دامنه رخ داده، احتمالاً آدرس قدیمی هنوز در دیتابیس ذخیره شده است. برای حل این مشکل، از phpMyAdmin کوئریهای زیر را اجرا کنید (قبل از اجرا حتماً بکاپ بگیرید):
UPDATE wp_options
SET option_value = REPLACE(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com')
WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts
SET guid = REPLACE(guid, 'http://www.old-domain.com', 'http://www.new-domain.com');
UPDATE wp_posts
SET post_content = REPLACE(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, 'http://www.old-domain.com', 'http://www.new-domain.com');
نکته: مقدار http://www.old-domain.com را با آدرس قدیمیتان و http://www.new-domain.com را با آدرس جدیدتان جایگزین کنید.
پس از اجرا، روی Go کلیک کنید و سایت را بررسی کنید.
۷) مطمئن شوید دامنه به هاست درست وصل شده باشد
در صورت تنظیم اشتباه DNS، دامنه به هاست دیگری اشاره میکند و وردپرس نمیتواند به دیتابیس دسترسی داشته باشد. بررسی و اصلاح رکوردهای DNS در پنل ثبت دامنه، این خطا را رفع خواهد کرد.
⭐ محتوای مرتبط: علت خطای صفحه سفید وردپرس + ۹ روش تضمینی برای رفع آن |
۸) با شرکت هاستینگ تماس بگیرید
اگر همه مراحل قبل را انجام دادید و خطا همچنان وجود دارد، احتمالاً مشکل در سطح سرور است. در چنین شرایطی تنها راهحل، تماس با پشتیبانی هاستینگ است تا از سمت سرور مشکل بررسی و رفع شود.
برای کاهش احتمال بروز چنین خطاهایی، انتخاب یک هاست مطمئن اهمیت زیادی دارد. استفاده از هاست وردپرس لیموهاست به شما این اطمینان را میدهد که سرور پایدار، منابع بهینهسازیشده و پشتیبانی حرفهای در اختیار دارید.
چگونه از خطاهای اتصال به پایگاه داده در وردپرس جلوگیری کنیم؟
پیشگیری همیشه سادهتر و مطمئنتر از تعمیر است. اگر چند اقدام اساسی را بهصورت منظم انجام دهید، احتمال بروز خطای Error Establishing a Database Connection در وبسایت شما به حداقل میرسد.
- فعالسازی بکاپهای خودکار: داشتن نسخههای پشتیبان منظم باعث میشود در صورت بروز مشکل، بتوانید دیتابیس یا کل سایت را بهسرعت بازیابی کنید.
- بهینهسازی پایگاه داده: با گذشت زمان، جدولهای دیتابیس پر از دادههای اضافی میشوند. استفاده از ابزارهایی مثل WP-Optimize به شما کمک میکند پایگاه داده را سبک و سالم نگه دارید.
- استفاده از افزونهها و قالبهای معتبر: نصب افزونهها یا قالبهای ناشناخته میتواند منجر به خرابی دیتابیس شود. همیشه از منابع رسمی و معتبر استفاده کنید.
- انتخاب هاست با کیفیت: کیفیت هاست تأثیر مستقیم بر پایداری دیتابیس دارد. هاستی که منابع کافی، سرورهای بهینه و پشتیبانی قابلاعتماد ارائه دهد، جلوی بسیاری از خطاهای پایگاه داده را میگیرد.
- مانیتورینگ منابع سرور: بررسی منظم مصرف منابع سرور کمک میکند قبل از اینکه فشار بیش از حد باعث از کار افتادن دیتابیس شود، راهکار مناسبی انتخاب کنید.
- محافظت در برابر بدافزارها: حملات یا فایلهای آلوده میتوانند جداول دیتابیس را تخریب کنند. در این زمینه، مطالعه مقاله «آموزش حذف ویروس از سایت وردپرسی» میتواند برایتان مفید باشد.
تمام این اقدامات نشان میدهد که سلامت دیتابیس نقش تعیینکنندهای در بقای سایت دارد و در نهایت…
شروع قیمت از
۲۹۰ هزار تومان
پایداری وبسایت از دل دیتابیس آغاز میشود
در کنار این راهکارها، پیشگیری همیشه بهترین راهکار است؛ بکاپهای منظم، استفاده از قالبها و افزونههای معتبر، و مهمتر از همه انتخاب یک هاست پایدار و بهینهشده، میتواند جلوی بسیاری از مشکلات را بگیرد.
اگر سوالی درباره این مقاله دارید، حتماً در قیمت کامنتها بپرسید تا راهنماییتان کنیم.
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید