
یکی از خطاهای رایج و مهم در وردپرس، ارور Error Establishing a Database Connection یا همان خطا در برقراری ارتباط با پایگاه داده است. وقتی این خطا نمایش داده میشود، یعنی وردپرس نتوانسته به پایگاه داده سایت متصل شود و به همین دلیل امکان بارگذاری اطلاعات اصلی سایت را ندارد. نتیجه هم معمولاً روشن است: صفحه سایت برای کاربر باز نمیشود و گاهی فقط یک پیام خطا نمایش داده میشود.
اگر با این مشکل روبهرو شدهاید، لازم نیست فوراً نگران از دست رفتن سایت باشید. در بیشتر مواقع، این خطا به چند مورد مشخص مثل اشتباه بودن اطلاعات پایگاه داده در فایل wp-config.php، مشکل در رمز عبور یا نام کاربری پایگاه داده، اختلال در میزبان پایگاه داده یا خرابی بعضی جدولهای دیتابیس مربوط میشود. در این آموزش، قدمبهقدم همین موارد را بررسی میکنیم تا بتوانید مشکل را دقیقتر پیدا و برطرف کنید.
wp-config.php را ویرایش کنید یا روی دیتابیس عملیات تعمیر انجام دهید.چرا خطای اتصال پایگاه داده در وردپرس رخ میدهد؟
وردپرس برای نمایش هر صفحه از سایت باید به پایگاه داده وصل شود. نوشتهها، برگهها، تنظیمات، اطلاعات کاربران، دیدگاهها و بسیاری از دادههای مهم سایت داخل پایگاه داده ذخیره میشوند. اگر این ارتباط برقرار نشود، وردپرس عملاً چیزی برای نمایش ندارد و همان پیام خطای اتصال پایگاه داده را نشان میدهد.
رایجترین علتهای این خطا معمولاً این موارد هستند:
- اشتباه بودن نام پایگاه داده، نام کاربری یا رمز عبور در فایل
wp-config.php - نادرست بودن مقدار میزبان پایگاه داده یا همان
DB_HOST - خرابی یا آسیبدیدن بعضی جدولهای پایگاه داده
- در دسترس نبودن سرور MySQL یا فشار بیش از حد روی سرور
- مشکل در دسترسی کاربر پایگاه داده به دیتابیس مربوطه
وردپرس برای برقراری اتصال، به چهار اطلاعات اصلی نیاز دارد:
- نام پایگاه داده
- نام کاربری پایگاه داده
- کلمه عبور پایگاه داده
- سرور یا میزبان پایگاه داده
این اطلاعات داخل فایل wp-config.php ذخیره میشوند. بنابراین بررسی این فایل معمولاً اولین قدم برای عیبیابی است.
نحوه رفع خطای اتصال پایگاه داده در وردپرس
1. اطلاعات فایل wp-config.php را بررسی کنید
مهمترین و رایجترین دلیل بروز این خطا، اشتباه بودن اطلاعات اتصال به دیتابیس در فایل wp-config.php است. این موضوع معمولاً بعد از جابهجایی سایت، تغییر هاست، ساخت دیتابیس جدید یا تغییر رمز عبور پایگاه داده بیشتر دیده میشود.
در این فایل معمولاً با بخشهایی شبیه موارد زیر روبهرو میشوید:
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
در این مرحله باید این مقادیر را با اطلاعات واقعی دیتابیس خودتان مقایسه کنید. اگر حتی یکی از این موارد اشتباه باشد، وردپرس نمیتواند به پایگاه داده وصل شود.
برای پیدا کردن اطلاعات درست، وارد پنل هاست خود شوید و از بخش Advanced به قسمت Databases و سپس MySQL Databases بروید.

در این قسمت میتوانید اطلاعات دیتابیسهای موجود روی هاست را ببینید. معمولاً نام پایگاه داده و نام کاربری دارای دسترسی به آن در همین بخش مشخص است.

حالا اطلاعات این بخش را با مقادیر داخل فایل wp-config.php مقایسه کنید. اگر نام دیتابیس یا نام کاربری با مقدارهای فایل یکی نیست، باید آنها را اصلاح کنید.
2. رمز عبور کاربر پایگاه داده را بررسی یا بازنشانی کنید
گاهی نام پایگاه داده و نام کاربری درست هستند، اما مشکل از رمز عبور است. اگر قبلاً رمز عبور دیتابیس را تغییر داده باشید یا بعد از انتقال سایت اطلاعات جدید را درست وارد نکرده باشید، این خطا دقیقاً به همین دلیل رخ میدهد.
در پنل هاست، در بخش کاربران پایگاه داده میتوانید کاربر مربوطه را پیدا کنید و در صورت نیاز رمز عبور آن را تغییر دهید. بعد از تغییر رمز، باید همان رمز جدید را داخل فایل wp-config.php و روبهروی مقدار DB_PASSWORD قرار دهید.

بعد از ذخیره فایل، سایت را دوباره بررسی کنید. در خیلی از مواقع، مشکل همینجا برطرف میشود.
3. دیتابیس وردپرس را تعمیر کنید
اگر اطلاعات اتصال صحیح هستند اما هنوز با خطا روبهرو میشوید، ممکن است بعضی جدولهای دیتابیس آسیب دیده باشند. در این حالت میتوانید از ابزار تعمیر پایگاه داده وردپرس استفاده کنید.
برای این کار ابتدا خط زیر را به فایل wp-config.php اضافه کنید:
define( 'WP_ALLOW_REPAIR', true );
سپس آدرس زیر را در مرورگر باز کنید:
yourdomain.com/wp-admin/maint/repair.php
در این صفحه، وردپرس دو گزینه برای تعمیر دیتابیس در اختیار شما قرار میدهد: Repair Database و Repair and Optimize Database.

اگر فقط هدفتان رفع خطا است، معمولاً گزینه Repair Database کافی است. اگر احساس میکنید دیتابیس نیاز به بهینهسازی هم دارد، میتوانید از گزینه دوم استفاده کنید. البته بعد از پایان کار، بهتر است خط WP_ALLOW_REPAIR را از فایل wp-config.php حذف کنید تا این صفحه برای همیشه باز نماند.
4. مقدار DB_HOST را بررسی کنید
در بسیاری از سایتها مقدار DB_HOST برابر localhost است، اما این موضوع همیشه صدق نمیکند. بعضی شرکتهای هاستینگ از مقدار دیگری برای میزبان پایگاه داده استفاده میکنند. اگر این مقدار نادرست باشد، وردپرس نمیتواند اتصال را برقرار کند؛ حتی اگر نام دیتابیس، نام کاربری و رمز عبور کاملاً درست باشند.
به همین دلیل، اگر همه اطلاعات دیگر را بررسی کردهاید اما مشکل همچنان باقی است، از پشتیبانی هاست بپرسید مقدار صحیح DB_HOST چیست. اگر هاست شما از میزبان دیگری استفاده کند، باید آن را در فایل wp-config.php جایگزین کنید.
5. مطمئن شوید سرور پایگاه داده در دسترس است
گاهی اصل مشکل نه از اطلاعات اتصال، بلکه از خود سرور MySQL است. اگر سرور پایگاه داده بهطور موقت از دسترس خارج شده باشد، فشار زیادی روی هاست وجود داشته باشد یا محدودیتهای منابع باعث اختلال شده باشند، وردپرس هم قادر به اتصال نخواهد بود.
اگر سایتهای دیگری روی همان هاست دارید، میتوانید آنها را هم بررسی کنید. اگر آنها هم مشکل مشابهی دارند، احتمال اختلال از سمت سرور بیشتر میشود. همچنین میتوانید با ورود به phpMyAdmin بررسی کنید که آیا اتصال به دیتابیس از سمت هاست برقرار است یا نه.
راه دیگر این است که یک فایل آزمایشی برای اتصال به MySQL بسازید و اتصال مستقیم را تست کنید:
<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_connect_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
اگر این فایل هم نتواند متصل شود، احتمال زیادی وجود دارد که مشکل از کاربر دیتابیس، رمز عبور، میزبان پایگاه داده یا وضعیت خود سرور باشد. در این حالت بهتر است با پشتیبانی هاست در ارتباط باشید.
سایر راهکارها برای رفع خطای اتصال پایگاه داده در وردپرس
اگر راهکارهای اصلی بالا مشکل را حل نکردند، چند مورد دیگر هم وجود دارد که بعضی کاربران با آنها نتیجه گرفتهاند:
بهروزرسانی آدرس سایت در phpMyAdmin
در بعضی شرایط، مخصوصاً بعد از انتقال سایت، ممکن است لازم باشد مقدار آدرس سایت در جدول wp_options بررسی یا اصلاح شود. برای این کار میتوانید از طریق phpMyAdmin و بخش SQL دستور زیر را اجرا کنید:
UPDATE wp_options
SET option_value='YOUR_SITE_URL'
WHERE option_name='siteurl';
فقط دقت کنید که باید آدرس واقعی سایت خودتان را جایگزین کنید و اگر پیشوند جدولهای شما wp_ نیست، آن را با پیشوند درست تغییر دهید.
راهاندازی دوباره سرور
اگر از سرور اختصاصی، سرور مجازی یا سرور محلی استفاده میکنید، راهاندازی دوباره سرور هم میتواند در بعضی مواقع مشکل را برطرف کند. این کار بیشتر زمانی جواب میدهد که اختلال به دلیل فشار موقت روی سرویسهای سرور یا توقف سرویس MySQL رخ داده باشد.
از پشتیبانی هاست کمک بگیرید
اگر همه موارد گفتهشده را بررسی کردهاید اما مشکل همچنان پابرجاست، بهترین کار ارتباط با پشتیبانی هاست است. چون در بسیاری از مواقع آنها سریعتر میتوانند وضعیت سرویس MySQL، دسترسی کاربر دیتابیس، خطاهای سرور و محدودیتهای منابع را بررسی کنند.
خطای اتصال پایگاه داده در وردپرس یکی از خطاهای مهم اما قابلرفع است. در بیشتر مواقع مشکل از اطلاعات نادرست داخل فایل wp-config.php، اختلال در کاربر یا رمز عبور دیتابیس، مقدار اشتباه DB_HOST یا خرابی بعضی جدولهای پایگاه داده است. بنابراین بهتر است عیبیابی را از همین موارد شروع کنید.
اگر قدمبهقدم مواردی که در این مقاله گفتیم را بررسی کنید، به احتمال زیاد میتوانید علت اصلی خطا را پیدا کنید. در نهایت هم اگر موضوع از سمت سرور یا سرویس MySQL باشد، پشتیبانی هاست بهترین مرجع برای تکمیل بررسیها خواهد بود.
منبع :
سید جواد 2 سال عضو همیار وردپرس
یه سوال برای شیبه ساز ها چیکار کنبم
samane 5 سال عضو همیار وردپرس
سلام فایده نداره سایتم به دیتابیس وصل نمیشه لطفاکمک
bahareh koohestani 13 سال عضو همیار وردپرس
سلام دوست عزیز
اگه اطلاعات رو درست وارد کرده باشید و دامنه شما ست شده باشه قطعا با وارد کردن آدرس سایت باید ادامه مراحل نصب وردپرس رو بهتون نشون بده.
asrezaban 6 سال عضو همیار وردپرس
اصلا جالب نبود. خیلی پیچیده و بدون روال نوشتید
ramin.tj 6 سال عضو همیار وردپرس
سلام
وقت بخیر من با مشکل (خطا در برقراری ارتباط با پایگاهداده) رو برو شدم این پیغام زمانیکه آدرس رو در نوار آدرس وارد میکنم نشون میده ممکته من رو راهنمایی کنید همه این کارهایی رو که گفته بودید رو انجام دادم ولی مشکل همچنان هست.
haddadi747 7 سال عضو همیار وردپرس
سلام من موقع ورود به سایت با این خطا مواجه شدم لطفا راهنمایی بفرمائید
Fatal error: Cannot redeclare get_cli_args() (previously declared in /home3/btglobal/public_html/wp-admin/includes/class-wp-importer.php:283) in /home3/btglobal/public_html/wp-admin/includes/class-wp-importer.php on line 334
soap1994 10 سال عضو همیار وردپرس
سلام
ممنون از مطلب خوب و مفیدتون
من با این مشکل حدود هر 3 روز یکبار مواجه میشم و از طرف هاستینگ هم میگن که مشکل از طرف هاست نیست
و تمام مواردی رو که میگین بررسی کردم و تقریبا هر 3 روز یک بار مشخصات اتصال با دیتا بیس من کلا عوض میشن یعنی انگار فایل wp-config.php به حالت اولیه بر میگرده و هیچ اطلاعاتی از دیتا بیس من در اون وجود نداره لطفا راهنمایی بفرمائید.
با تشکر از سایت خوب همیار
بهاره کوهستانی 13 سال عضو همیار وردپرس
سلام
مطمئنا مشکل از هاست هستش
امید صدر 8 سال عضو همیار وردپرس
شاید مشکل از یک افزونه هست یاتنظیمات امنیتی
شایانم
سلام
من با این مشکل رو به رو شدم کد مربوطه ارو گذاشتم سایتم درست شد و قسمت تعمیر دیتا بیس برام نیومد. امیدوارم دیگه با این مشکل رو به رو نشم
وحید
ممنون از مطلب مفیدتون مشکل من با انجام اولین مورد حل شد البته بعد از 10 بار امتحان کردن خخخخخخخخ
دانیال
<code class=”plain”>define(</code><code class=”string”>’WP_ALLOW_REPAIR'</code><code class=”plain”>, true);</code>
سلام من کد بالا رو که گذاشتین رو اخر فایل گذاشتم دیگه نگفت رمزت اشتباس ولی کلا میزنه دیگه Parse error: syntax error, unexpected ‘&’ in C:\xampp\htdocs\wp-config.php on line 90 چکار کنم
بهاره کوهستانی 13 سال عضو همیار وردپرس
سلام
قطعه کدها تصحیح شد