رفع خطا در برقراری ارتباط با پایگاه داده

رفع خطا در برقراری ارتباط با پایگاه داده

یکی از خطاهای رایج و متداول در وردپرس،خطای Error Establishing a Database Connection یا خطا در برقراری ارتباط با پایگاه‌داده می‌باشد.

این خطا یک خطای جدی است که وب‌سایت وردپرسی شما را برای کاربران غیرقابل دسترسی می‌کند. خطای برقراری ارتباط با پایگاه داده هنگامی رخ می‌دهد که وردپرس قادر به ایجاد ارتباط با بانک اطلاعاتی نباشد. عوامل زیادی وجود دارند که می‌توانند در برقراری ارتباط با پایگاه داده در وردپرس تداخل ایجاد کنند. به همین دلیل عیب‌یابی این خطا برای مبتدیان معمولا کمی دشوار است.

در این مقاله قصد داریم علت اصلی رخ دادن این خطا را بررسی کرده و به شما بگوییم که چگونه می‌توان این خطا را برطرف کرد.

 

علت وجود خطا در برقراری ارتباط با پایگاه‌داده چیست؟

برای بررسی علت این خطا، ابتدا باید در مورد ساز و کار وردپرس اطلاعاتی داشته باشیم.

وردپرس یک سیستم مدیریت محتوا به زبان php می‌باشد، اطلاعات مورد نیاز برنامه در یک پایگاه داده در سیستم پایگاه داده MySQL ذخیره می‌شود. در اصل خطای Error Establishing a Database Connection نشان دهنده‌ی خطای ارتباط دیتابیس MySQL با کدهای PHP می‌باشد.

به عبارت دیگر در صورتی که برنامه PHP نتواند به سیستم دیتابیس متصل گردد، امکان فراخوانی و ثبت اطلاعات وجود نخواهد داشت. این علت می‌تواند دلایل مختلفی را داشته باشد:

  1.  اطلاعات ورود به دیتابیس و یا پیشوند جداول به صورت اشتباه وارد شده است.
  2. اطلاعات موجود در دیتابیس شما هنگام نصب وردپرس یا پلاگین با مشکل روبرو شده است.
  3. بعضی جداول مورد نیاز برنامه به دلایلی حذف شده است.
  4. اطلاعات دیتابیس در هاست دیگری قرار داشته باشد. (نه در لوکال هاست)
  5. سرویس پایگاه داده از سمت سرور میزبانی هاست شما به مشکل برخورده است.

که البته تمامی این مشکل‌ها قابل حل شدن می‌باشد.

 

راه حل اول: ویرایش اطلاعات دیتابیس وردپرس

شایع‌ترین دلیل خطای برقراری ارتباط با پایگاه داده، نادرست بودن اطلاعات ثبت شده در دیتابیس است. اگر اخیراً سایت وردپرسی خود را به هاست جدیدی منتقل کرده‌اید؛ احتمالاً با این خطا مواجه خواهید شد.

اطلاعات پایگاه داده در فایل wp-config.php ذخیره می‌شود. این فایل از فایل‌های پیکربندی در وردپرس است که شامل تنظیمات مهمی از جمله اطلاعات پایگاه داده است.

شما باید اطمینان حاصل کنید که اطلاعات مربوط به نام پایگاه داده، نام کاربری، رمز عبور و میزبان بانک اطلاعات‌تان صحیح وارد شده است. می‌توانید این اطلاعات را از داشبورد حساب هاست خود تأیید کنید. کافیست که به حساب هاست سایت‌تان وارد شده و بر روی پایگاه داده MySQL در زیر بخش دیتابیس کلیک کنید.

این کار شما را به صفحه مدیریت پایگاه داده در داشبورد هاست منتقل می‌کند. از اینجا می‌توانید نام بانک اطلاعاتی و نام کاربری خود را پیدا کنید.

پس از تأیید نام پایگاه داده، نام کاربری و رمز عبور، می‌توانید در صورت لزوم این اطلاعات را در فایل wp-config.php وردپرس نیز تغییر دهید. سپس مجددا وارد سایت شده تا ببینید خطای برقراری ارتباط با پایگاه داده رخ می‌دهد یا خیر؟ اگر با وجود انجام این تغییرات هنوز شاهد این خطا هستید؛ یعنی عامل دیگری در سایت شما وجود دارد که علت ایجاد این خطا است.

 

بررسی کنید که آیا سرور دیتابیس در دسترس است یا خیر؟

اگر به نظرتان همه چیز درست است؛ اما با این وجود هنوز وردپرس نمی‌تواند به بانک اطلاعاتی شما وصل شود؛ ممکن است سرور پایگاه داده شما (MySQL سرور) خاموش بوده یا در دسترس نباشد. دردسترس نبودن معمولا به دلیل وجود ترافیک سنگین روی سرور رخ می‌دهد. در اصل در این شرایط سرور نمی‌تواند بار ترافیکی ایجاد شده را تحمل کند. به خصوص هنگامی که روی هاست اشتراکی هستید.

در این شرایط سایت شما کند خواهد شد و برای برخی از کاربران حتی ممکن است خطا رخ دهد. بنابراین بهترین کاری که شما باید انجام دهید این است که با پشتیبانی خدمات‌دهنده هاست خود تماس بگیرید و از آنها بخواهید که در مورد مشکل در دسترس نبودن پایگاه داده وب‌سایت شما پاسخگو باشند.

اگر وب‌سایت‌های دیگری روی همین سرور دارید؛ می‌توانید آنها را نیز بررسی کنید. اگر هیچ کدام از سایت‌های دیگرتان چنین مشکل مشابه‌ای را ندارند باید به صفحه مدیریت هاست خود بروید و سعی کنید به phpMyAdmin دسترسی پیدا کرده و پایگاه داده را متصل کنید.

اگر می‌توانید ارتباط برقرار کنید؛ باید این موضوع را بررسی کنید که آیا کاربری که با آن وارد شده‌اید دارای مجوز کافی است یا خیر؟ یک فایل جدید با نام testconnection.php ایجاد کرده و کد زیر را در آن وارد کنید.

<?php
$link = mysqli_connect(‘localhost’, ‘username’, ‘password’);
if (!$link) {
die(‘Could not connect: ‘ . mysqli_error());
}
echo ‘Connected successfully’;
mysqli_close($link);
?>

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

 

تغییر آدرس دیتابیس از localhost به آی‌پی هاست

در برخی موارد، به دلیل اینکه دیتابیس و اطلاعات مربوط به آن در هاست دیگری قرار داشته و اطلاعات هاست فعلی شما از localhost فراخوانی می‌شود، بنابراین با خطا مواجه می‌شوید.

توجه: در صورتی که اطلاعات پایگاه داده شما به صورت محلی و یا localhost نمی‌باشد، حتما باید آدرس آی‌پی سرور پایگاه داده را از شرکت سرویس دهنده دریافت نمایید. در صورتی که از این موضوع مطمئن نیستید، مقدار DB_HOST را برابر با مقدار پیشفرش localhost رها کنید.

بدین منظور، لازم است تا اطلاعات مربوط به دیتابیس را تغییر دهید. یعنی بار دیگر بر روی wp-config.php کلیک کنید. سپس اطلاعات زیر را انتخاب کنید:

define( 'DB_HOST', 'localhost' );

و به زیر تغییر دهید:

define( 'DB_HOST', 'x.x.x.x' );

در مثال بالا، x.x.x.x ، آی‌پی هاستی است که دیتابیس شما در آن قرار دارد و باید آدرس آی‌پی مربوطه را وارد کنید.

 

وب سرور را راه‌اندازی مجدد کنید

گاهی کاربرانی که روی سرورهای اختصاصی، سرورهای محلی و سرورهای خصوصی مجازی (VPS) هستند می‌توانند با راه‌اندازی مجدد سرور خود، خطای برقراری ارتباط با پایگاه داده را برطرف کنند. با این کار سرور وب و دیتابیس شما مجدداً راه‌اندازی شده و ممکن است برخی از مشکلات موقتی که باعث ایجاد این خطا می‌شوند، رفع شود.

 

تماس با پشتیبانان

در صورتیکه راه‌حل‌های بالا کارساز نبودند، بهتر است با سرویس پشتیبانی هاستینگ وب‌سایت خود تماس بگیرید.

 

امیدوارم این آموزش کوتاه در مورد رفع خطا در برقراری ارتباط با پایگاه‌داده برای شما مفید واقع شده باشد. بسیار خوشحال می‌شویم که با نظرات و کامنت‌های خود، ما را در بهبود عملکرد خود یاری کنید.