رفع خطا Error establishing a database connection – خطا ارتباط پایگاه داده وردپرس

رفع خطا Error establishing a database connection

اگر در اینترنت مشغول گشت‌زنی بوده باشید، حتما تا به حال با خطا Error establishing a database connection برخورد داشته‌اید. خطای برقراری ارتباط با پایگاه داده از آن نوع خطاهایی است که ممکن است به دلایل زیادی اتفاق بیفتد. به عنوان یک تازه‌کار در وردپرس، ممکن است با دیدن این خطا بسیار آشفته شوید، در حالی که هیچ چیزی را تغییر نداده‌اید.

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

نکته: قبل از اینکه هرگونه تغییری در پایگاه‌داده انجام دهید، مطمئن شوید که به درستی یک بک‌آپ یا همان فایل پشتیبان از آن گرفته‌اید.

علت خطا Error establishing a database connection

خوب به‌ طور خلاصه، دلیل بروز خطا Error establishing a database connection این است که وردپرس موفق به برقراری ارتباط با پایگاه داده شما نمی‌شود ( همانطور که از نوشته خطا پیداست ). حال اینکه چرا وردپرس نمی‌تواند با پایگاه داده ارتباط برقرار کند، می‌تواند دلایل مختلفی داشته باشد. ممکن است مشکل این باشد که اطلاعات احراز هویت پایگاه داده شما اشتباه وارد شده است و یا تغییر یافته است.

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

[irp posts=”3673″ name=”رفع خطا به‌روزرسانی دیگری در جریان است در وردپرس”]

آیا این خطا برای پوشه /wp-admin/ نیز اتفاق می‌افتد؟

اولین کاری که باید انجام دهید این است که ببینید آیا این خطا را در هر دو سمت کاربر و سمت ادمین، بصورت یکسان مشاهده می‌کنید یا خیر. برای اینکار wp-admin را نیز چک کنید و ببینید که آیا همان پیغام خطا در برقراری ارتباط با پایگاه داده و یا به انگلیسی “Error establishing a database connection” را مشاهده می‌کنید؟

اگر خطاها یکسان بود، به مرحله بعد بروید. اما اگر در بخش مدیریت وبسایت خطای دیگری را می‌بینید، مثلا ” یک یا چند جدول از پایگاه داده در دسترس نیست ” یا همان ” One or more databse tables are unavailable”، در این صورت باید پایگاه داده خود را repair کنید.

برای اینکار باید تکه کد پایین را در فایل wp-config.php و قبل از نوشته‌ی “That’s all, stop editing!Happy blogging” وارد کنید.

define('WP_ALLOW_REPAIR', true);

بعد از اینکه اینکار را انجام دادید، برای دیدن تنظیمات به این آدرس بروید :‌

http://www.yoursite.com/wp-admin/maint/repair.php

repair دیتابیس وردپرس

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

[irp posts=”3605″ name=”رفع خطا می خواهید این کار را انجام دهید؟ خواهشمندیم دوباره تلاش کنید”]

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

چک کردن فایل WP-Config

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

define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');

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

بعضی‌ها پیشنهاد دادند که با تغییر مقدار localhost به IP لوکال، مشکل آنها حل شده است. اینگونه موارد معمولا پیش می‌آید، مخصوصا زمانی که وردپرس را بصورت لوکال برروی کامپیوتر خود استفاده می‌کنید. برای مثال برروی XAMPP، زمانی که مقدار DB_Host به IP تغییر پیدا می‌کند، مشکل ممکن است حل شود.

define('DB_HOST', '127.0.0.1:8889');

مقدار IP برای سرویس‌های آنلاین متفاوت خواهد بود.

اگر همه چیز در این فایل صحیح بود و مشکلی در تایپ آنها نیز وجود نداشت، پس در نتیجه مشکل از سمت سرور پیش آمده است.

سرور MySql وب هاست خود را چک کنید

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

برای کاربرانی که خودشان می‌خواهند سرور MySQL را تست کنند، کافیست چند مرحله را انجام دهند. وبسایت‌های دیگر را برروی همان سرور تست کنید تا ببینید که همین مشکل را دارند یا خیر. اگر آنها نیز مانند شما این مشکل را داشتند، در نتیجه احتمالا مشکل از سمت سرور MySQL است. اگر وبسایت دیگری برروی سرور وجود ندارد، کافیست به Cpanel رفته و سعی کنید تا از طریق phpMyAdmin به پایگاه داده متصل شوید. اگر متصل شدید، حال نیاز است تا مجوزهای user پایگاه داده شما را چک کنیم. یک فایل جدید با نام testconnection.php بسیازید و کد پایین را داخل آن قرار دهید:

<?php
$link = mysql_connect('localhost', 'root', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

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

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

[irp posts=”3455″ name=”صفحه سفید وردپرس و رفع خطا صفحه سفید مرگ وردپرس”]

حال اگر با موقع اتصال به پایگاه داده با خطاهایی همچون Access denied برخورد می‌کنید، با شرکت هاستینگ خود تماس بگیرید تا user شما و مجوزهای آن را چک کند.

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

امیدواریم یان مقاله به شما کمک کرده باشد تا توانسته باشید خطا Error establishing a database connection را رفع کنید.

میلاد کاظمی

وردپرس سیستم مدیریت محتوای محبوب من هستش و اینجا سعی خواهم کرد در امن تر کردن هرچه بیشتر وبسایت های فارسی کمکتون کنم.

2 دیدگاه

  1. کاربر
    محمد 30 شهریور 1400

    سلام
    من ارور (Error establishing a database connection) رو تو صفحه wp-login.php دارم
    ولی تو صفحه های دیگه اصلا اروری ندیدم
    دقیقا باید چیکار کنم؟
    جاهای دیگه رو هم دیدم ولی جوابی براش پیدا نکردم
    ——————————————————————–
    به‌روزرسانی دیدگاه توسط کاربر:
    بعد چند دیقه خودکار درست شد :///

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 6 مهر 1400

      سلام احتمالا این مشکل از سمت هاست شما بوده و ارتباط دیتابیس شما با هاستتون قطع شده بوده که میزبانی هاست شما این مشکل رو براتون حل کرده!
      جای نگرانی نیست.

      پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *