خطای Error Establishing a Database Connection در وردپرس زمانی رخ میدهد که وبسایت وردپرسی شما نتواند به پایگاه داده وصل شده و اطلاعات آن را بازیابی کند. دلایل رایج این مشکل پیکربندی نادرست در فایل wp-config، اعتبار نامعتبر یا دادههای خرابشده هستند. اگر به این خطا رسیدگی نشود، در کوتاه مدت شاهد آسیب دیدن سایتتان خواهید بود. پس در این مقاله همراه ما باشید تا به شناسایی مشکل اصلی پرداخته و این خطا را برطرف کنیم.
علت خطای Error Establishing a Database Connection در وردپرس
چند دلیل رایج برای بروز خطای Error Establishing a Database Connection در وردپرس وجود دارد که عبارتند از:
- اعتبارنامه (Credential) نادرست در فایل wp-config هنگام ورود به پایگاه داده؛ مانند رمز عبور و نام کاربری منقضیشده در پایگاه داده MySQL
- خراب شدن محتوای پایگاه داده بهواسطه ایراد در پلاگینها یا تمها
- مشکلات مربوطبه زیرساخت هاست و شرکت ارائهدهنده خدمات هاستینگ
- کد معیوب در افزونهها و تمها
با خرید هاست وردپرس ایرانسرور از سرعت بالا، امنیت پیشرفته، و ویژگیهای منحصربهفرد مانند هارد NVMe، ترافیک نامحدود بهره مند شوید این هاست گزینهای ایدهآل برای وبسایتهای وردپرسی است.
آموزش رفع خطای Error Establishing a Database Connection با 8 روش آسان
قبل از اقدام برای رفع خطای Error Establishing a Database Connection در وردپرس، از سایتتان یک نسخه پشتیبان بگیرید تا بهواسطه پیکربندیهای جدید یا نادرست، آسیب بیشتری نبیند.
1. بررسی سرور پایگاه داده
یک پایگاه داده دارای حداکثر تعداد کلاینتهای متصل است. اگر تقاضا از سرور بیشاز حد مجاز شود، اتصالات را قطع کرده و خرابی بهوجود میآید. بههمیندلیل در صورت افزایش ترافیک، با این پیغام مواجه میشویم.
راهحل:
- اولین قدم برای رفع خطای Error Establishing a Database Connection در وردپرس، بهحداقل رساندن درخواستهای بکاند سرور با استفاده از افزونههای کش مانند W3 Total Cache یا WP Rocket است.
- راهحل دیگر هم بررسی مشکلات شبکه است. بنابراین با شرکت ارائهدهنده ارتباط گرفته و وجود این مشکل را بررسی کنید. ممکن است همه سایتهای وردپرسی روی سرور یکسان با مشکل مشابهی مواجه باشند.
2. بررسی مجوزهای ورود حساب کاربری
یکی دیگر از دلایل رایج برای عدم پاسخگویی سرور و بروز این خطا، مجوزهای ناکافی کاربر است. اگر کاربر پایگاه داده سایت وردپرسی مجوزهای دسترسی کافی و مناسب را نداشته باشد، نمیتواند محتوا را از دیتابیس خوانده یا بنویسد.
راهحل:
- برای بررسی دسترسیهای مجاز حساب کاربریتان، وارد کنترل پنل دیتابیس شده و فایل wp-config.php را چک کنید. اگر امکان دسترسی به کنترل پنل هاست تان را ندارید، از یک سرویسگیرنده FTP مانند FileZilla برای مشاهده فایلها کمک بگیرید.
درحالیکه روش کلی مشابه است، مراحل ممکن است متفاوت باشد. بهعنوان مثال، باید فایل را بهصورت دستی دانلود، ویرایش و دوباره آپلود کنید.
اطلاعات مجوز حساب کاربری در پایگاه داده، چیزی مشابه تصویر زیر است:
پس از باز کردن File Manager، فایل wp-config.php را در پوشه public_html پیدا کنید. روی آن راست کلیک کرده و Edit را بفشارید. اطلاعات زیر را در این فایل بیابید:
- DB_NAME – نام پایگاه داده
- DB_USER – نام کاربری پایگاه داده
- DB_PASSWORD – رمز عبور پایگاه داده
- DB_HOST – میزبان پایگاه داده
این دادهها را در مکانی امن ذخیره کنید؛ چون ما در ادامه این دادهها را با اطلاعات موجود در هاستمان مقایسه خواهیم کرد. حال به کنترل پنل سرور بازگشته و به مسیر Database → Management بروید.
در این مرحله، تمام اطلاعات پایگاه داده را در قسمت List of Current MySQL Databases And Users بررسی کنید. اگر اطلاعات این دو با یکدیگر مطابقت ندارند، اعتبار صحیح را با ورود به کنترل پنل هاست، در پایگاه داده ذخیره کنید. برای انجام این کار، باید کد زیر را به فایل wp-config.php اضافه کنید:
;define('DB_NAME', 'fill_this_with_your_current_database_name') ;define('DB_USER', 'fill_this_with_your_current_username') ;define('DB_HOST', 'fill_this_with_your_current_localhost')
فیلدها را با اطلاعات صحیح جایگزین کنید. پس از اتمام، روی نماد دیسک کلیک کنید تا تغییرات ذخیره شوند. وردپرس را Refresh کرده و حضور پیغام خطای Error Establishing a Database Connection را مجدد چک کنید.
اگر خطا همچنان ادامه داشت، رمز عبور پایگاه داده را از قسمت List of Current MySQL Databases And Users بازنشانی (Reset) کنید. روی نماد سه نقطه کلیک کرده و دکمه “Change Password” را بفشارید. رمز عبور جدید را وارد کرده و Update را بزنید.
اگر از نام کاربری و رمز عبور صحیح در پایگاه داده استفاده کردهاید اما همچنان پیغام «Error Establishing a Database Connection» را میبینید، مقدار DB_HOST فایل wp-config.php را بررسی کنید. بسته به ارائهدهنده هاست، این مقدار باید localhost، 127.0.0.1 یا URL باشد.
اگر این مقدار را ندارید، از شرکت ارائهدهنده آن را بگیرید.
بیشتر بخوانید: افزایش امنیت وردپرس با ۱۹ راهکار عملی و کارآمد
3. تعمیر و اصلاح فایلهای خراب
علاوهبر پایگاه داده معیوب، فایلهای خراب هم میتوانند باعث بروز خطای Error Establishing a Database Connection در وردپرس شوند. این موضوع بهدلیل ناسازگاری یا تضاد کدهای پلاگین و قالب با کدهای منبع رخ میدهد.
راهحل:
برای حل این مشکل، آخرین افزونه یا قالبی که دانلود کردهاید را غیرفعال کنید. اگر چند نرمافزار شخص ثالث دارید، توصیه میکنیم همه افزونهها را بهطور همزمان غیرفعال کنید و سپس تکتک آنها را بهصورت جداگانه فعال کنید.
برای غیرفعال کردن افزونهها، به کنترل پنل وردپرس مراجعه کرده و افزونهها را در مسیر Plugins → Installed Plugins پیدا کنید. سپس روی دکمه Deactivate کلید کنید.
حال هر افزونه را فعال و حضور پیغام خطا را چک کنید. به احتمال زیاد، یکی از افزونهها عامل این مشکل است که در صورت فعال کردنش متوجه خواهید شد. بهمحض فعالسازی افزونه مشکلساز و مشاهده پیغام خطا، آن را با کلیک روی دکمه Delete پاک کنید.
نکته: اگر خطای پایگاه داده مانع دسترسی شما به داشبورد وردپرس میشود، با تغییر نام پوشه افزونهها در مدیریت فایل یا یک کلاینت FTP، بهطور موقت همه افزونههای وردپرس را غیرفعال کنید.
برای انجام این کار، با مراجعه به مسیر File Manager → public_html → wp-content، روی پوشه plugins کلیک راست کرده و دکمه Rename را بزنید.
قالبها مانند پلاگینها، امکان غیرفعالسازی کلی را ندارند؛ بلکه باید هر قالب را در یک زمان فعال و استفاده کنیم. پس به مسیر Appearance → Themes در داشبورد وردپرس میرویم و با کلیک روی Activate، هرکدام را بهصورت جداگانه فعال میکنیم.
نکته: با تغییر نام پوشه، میتوانید همه تمها را بهطور همزمان غیرفعال کنید. بااینحال برخلاف افزونهها، زمانی که نام اصلی تمها را برگردانید، قالب پیشفرض بهطور خودکار دوباره فعال میشود.
اگر هیچ یک از راهحلهای بالا کار نکرد، احتمال خراب بودن فایلهای اصلی وردپرس وجود دارد. پس باید جدیدترین نسخه وردپرس را از وبسایت اصلی وردپرس دانلود و جایگزین کدهای قبلی در هاست کنید.
پس از دانلود، پکیج را Extract و محتوای آن را باز کنید. پوشه wp-content و فایل wp-config-sample.php را حذف کنید. سپس موارد باقیمانده را از طریق File Manager یا FTP در دایرکتوری اصلی وبسایتتان آپلود کنید.
نکته: اینکار تمام دادههای سایتتان را پاک میکند. بنابراین آن را بهعنوان آخرین راهحل برای رفع خطای Error Establishing a Database Connection در وردپرس اجرا کنید.
4. تعمیر و اصلاح پایگاه داده
هنگام رفع خطای Error Establishing a Database Connection در وردپرس، باید خرابی پایگاه داده را بهعنوان اولین عامل بدانیم. این مشکل اغلب ناشیاز حذف مکرر افزونهها یا تمها است؛ چون اینکار، دادههای اضافی را به پایگاه داده وارد کرده یا جداول آن را تغییر میدهد.
اگر این علت باعث بهوجود آمدن خطا شود، پیغام «One or more database tables are unavailable. The database may need to be repaired» را در داشبورد وردپرس خواهید دید.
راهحل:
برای تعمیر پایگاه داده، به مسیر File Manager → public_html رفته و با کلیک راست روی فایل wp-config.php و انتخاب دکمه Edit، تابع زیر را در انتهای فایل بنویسید. پس از درج این خط، روی نماد دیسک کلیک و تغییرات را ذخیره کنید.
;define('WP_ALLOW_REPAIR', true)
سپس، یک تب جدید در مرورگرتان باز کرده و آدرس زیر را بنویسید:
http://www.your-site-domain.com/wp-admin/maint/repair.php
بهجای “your-site-domain.com”، آدرس کامل دامنه سایتتان را وارد کنید. پنجرهای باز شده و دو حالت تعمیر پایگاه داده را از شما میخواهد. گزینه Repair Database را انتخاب کنید و منتظر بمانید تا فرآیند کامل شود.
پس از اتمام مراحل تعمیر، به سایت وردپرستان بازگشته و حل شدن مشکل را چک کنید. در صورت رفع خطای Error Establishing a Database Connection، تابع بالا را از wp-config.php حذف کنید؛ چون احتمال سواستفاده اشخاص غیرمجاز و دسترسی به بکاند سایتتان با همین یک خط کد ممکن میشود.
بیشتر بخوانید: آموزش قدم به قدم نصب وردپرس روی سی پنل
5. ایجاد یک پایگاه داده جدید
اگر هیچیک از روشهای قبلی مشکل را حل نکردند، نیاز به ساخت یک پایگاه داده MySQL جدید داریم؛ چون در این حالت، احتمال خراب بودن پایگاه داده فعلی وجود دارد. پیشاز انجام اینکار، باید سالمترین نسخه بکآپ دیتابیستان را آماده کنید. همان نسخهای که فاقد این پیغام و خرابیهای دیگر است.
راهحل:
در کنترل پنل هاست، به مسیر Databases → Management رفته و نام کاربر جدید MySQL، نام کاربری پایگاه داده و رمز عبور را بنویسید. سپس روی دکمه Create یا Create Database کلیک کنید.
بهسمت پایین اسکرول و روی Enter phpMyAdmin در دیتابیس تازه ساختهشده کلیک کنید.
در پنل مدیریت پایگاه داده، به تب Import بروید.
روی Choose File کلیک کنید و نسخه پشتیبان پایگاه داده سالم را از لیست انتخاب کنید. به پایین اسکرول و روی Import کلیک کنید.
در نهایت، پایگاه داده MySQL جدید را با تغییر فایل wp-config.php به سایت وردپرستان متصل کنید. پس به File Manager رفته و پوشه public_html را باز کنید. سپس روی آیتم مدنظرتان کلیک راست و Edit را انتخاب کنید.
یوزر جدید MySQL، نام پایگاه داده و رمز عبور خود را در کادرهای پیشرو وارد کنید. برای اعمال این تغییرات، دکمه Save را بزنید. اکنون داشبورد وردپرس سایتتان باید بهطور عادی و همیشگیاش کار کند.
6. اطمینان از اتصال دامنه به DNS هاست
جابهجایی سایت وردپرسی به هاست جدید، باعث انتقال فایلهای سایتتان به سرور جدید میشود. اگر دامنه شما به DNS هاست پایگاه داده صحیح وصل نباشد، ممکن است خطای Error Establishing a Database Connection در وردپرس را ببینید.
راهحل:
استفاده از ابزارهای آنلاین مانند dnschecker و خواندن جزئیات سایت در کنترل پنل هاست پیشنهاد میشود.
برای تغییر DNS سایت، از افزونه DNS Manager استفاده میکنیم. در تب DNS Provider، باید اطلاعات DNS شرکت ارائهدهنده را وارد کنید. سپس در تب General settings، آدرس IP هاست فعلی سایتتان را بنویسید. تیک کادر “Check to create a CNAME” را بزنید. پس از انجام این کارها، دکمه Save Settings را بزنید.
حال روی گزینه DNS Zones در پنل سمت چپ داشبورد وردپرس کلیک میکنیم. در این پنجره، روی دکمه Add New Zone کلیک میکنیم.
اطلاعات این بخش را از شرکت ارائهدهنده هاست گرفته و در کادرهای مربوطه وارد میکنیم. با فشردن دکمه Add Zone، DNS جدید به سایت اضافه میشود.
پس از وارد کردن اطلاعات کلی در این بخش، باید رکوردهای DNS را بنویسیم. برای انجام اینکار روی DNS ساختهشده کلیک و با اسکرول بهسمت پایین، در بخش ، اطلاعات رکورد را وارد میکنیم. با فشردن دکمه Update Zone، اتصال دامنه به DNS هاست انجام میشود.
بیشتر بخوانید: راهنمای گام به گام نحوه ایجاد CDN با DNS
7. بهروزرسانی آدرس وبسایت
اگر خطای Error Establishing a Database Connection پساز مهاجرت به هاست دیگری رخ داد، احتمال تغییر آدرس URL سایت وجود دارد. این تغییر میتواند از اتصال MySQL و ارسال دادهها به مرورگر کاربر جلوگیری کند.
راهحل:
باید آدرس سایتتان را در پایگاه داده MySQL از طریق phpMyAdmin بهروز کنید. پس از پنل سمت چپ، جاییکه همه پایگاه دادههای سایتتان فهرست شدهاند، دیتابیس فعلی را انتخاب و به تب SQL بروید.
کوئری زیر را در این کادر بنویسید:
;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')
پارامتر Oldurl.com را با آدرس URL فعلی سایت و newurl.com را با آدرس جدید مدنظرتان جایگزین کنید.
نکته: ممکن است پیشوند جدول شما wp_ نباشد. بنابراین باید هنگام ذخیره تغییرات در SQL، از پنل سمت چپ phpMyAdmin آن را چک کنید.
با فشردن دکمه Go، پیام تغییر موفقیتآمیز را بههمراه تعداد ردیفهای تغییریافته خواهید دید. توجه داشته باشید که تعداد ردیفها برای هر وبسایت وردپرسی متفاوت خواهد بود.
آخرین کاری که باید انجام دهید، این است که تغییرات را تایید کنید. پس جدول wp_options را باز کرده و مقادیر option_value را در siteurl و home چک کنید. در این فیلدها باید URL جدید واردشده را ببینید.
نکته: اگر پیغام خطا دریافت میکنید و کوئریها اجرا نمیشوند، باید سینتکس کدها و پیشوند جدول را چک کنید.
بیشتر بخوانید: آموزش گام به گام طراحی سایت با وردپرس
8. تماس با تیم پشتیبانی هاست
از واحد فنی و پشتیبانی هاست خود، با ارسال تیکت یا تماس درخواست کمک کنید؛ چون آنها به کدها و بکاند سایتتان دسترسی داشته و با دانش خود، علت را بهسرعت شناسایی میکنند. پشتیبانی ایران سرور بهشکل 24 ساعته و 7 روز هفته در دسترس کاربران و مشتریان است. بنابراین کارشناسان فنی ما، هنگام مواجه شدن با خطای Error Establishing a Database Connection در وردپرس یا هر مشکل دیگری، پاسخگوی شما خواهند بود.
9. راهاندازی مجدد سرور
اگر وردپرس و سرور MySQL را در یک هاست اختصاصی مستقر کردهاید، آن را Reboot کنید تا تنظیمات بهروزرسانی شوند. راهاندازی مجدد باعث توقف سرویسهای فعال در پسزمینه میشود؛ سرویسهایی که ممکن است عامل بروز این خطا باشند.
راهحل:
با دسترسی کامل به وب سرور و با کمک یک کلاینت SSH مانند PuTTY، به هاست وصل شده و دستور restart را مطابق با سیستمعامل خود بنویسید. برای لینوکس این دستور بهشکل زیر است:
reboot
برای راهاندازی مجدد ویندوز سرور هم باید از دستور زیر در Command Line استفاده کنید:
shutdown /r /m \\CLOUD-9GA5IF08G
نام سرورتان را جایگزین CLOUD-9GA5IF08G کنید.
بیشتر بخوانید: آموزش رفع خطای dns_probe_finished_ bad_secure_config با 7 ترفند ساده و کاربردی
آنچه در رفع خطای Error Establishing a Database Connection خواندیم
خطای Error Establishing a Database Connection در وردپرس زمانی رخ میدهد که سایت شما نمیتواند دادههای درخواستی را از پایگاه داده بازیابی کند. علل رایج آن عبارتنداز عدم تطابق مجوزهای ورود، فایلهای خراب یا مشکل در سرور و DNS آن. رفع این مشکل با بسیاری از راهحلهای رایج، در فایل wp-config و پایگاه داده MySQL انجام میشوند.
شما کدام روش را ترجیح میدهید؟ آیا تابهحال به چنین پیغامی برخوردهاید؟ خوشحال میشویم که تجربه خودتان را در بخش نظرات همین مقاله، در اختیار ما و سایر خوانندگان بگذارید تا راههای جدیدی را برای حل این مشکل متداول بهدست آوریم.
با هاست وردپرس ایرانسرور، سرعت فوقالعاده و امنیت پولادین را تجربه کنید.
خرید هاست وردپرس پشتیبانی : ۳۱۷۷۶-۰۵۱سوالات متداولی که شما میپرسید؟
- خطای Error Establishing a Database Connection در وردپرس چیست؟
خطایی که عدم اتصال سایت وردپرسی را به پایگاه داده نشان میدهد.
- راههای رفع خطای Error Establishing a Database Connection چه چیزهایی هستند؟
راهاندازی مجدد سرور (Reboot)، اطمینان از اتصال سایت به DNS هاست، ایجاد یک پایگاه داده جدید و غیره ازجمله راههای رفع این خطا هستند.
- آیا بهروزرسانی آدرس سایت باعث رفع خطای Error Establishing a Database Connection میشود؟
بله. تغییر آدرس URL در پایگاه داده MySQL میتواند این مشکل را حل کند.
منبع: