خطای “Error Establishing a Database Connection” یا “خطا در برقراری اتصال به پایگاه داده” یکی از مشکلات رایج است که وبسایتها و برنامههای تحت وب ممکن است با آن مواجه شوند. این خطا نشاندهنده عدم توانایی سیستم در برقراری ارتباط با پایگاه داده است که میتواند باعث قطع دسترسی به وبسایت یا نرمافزار شود. در این مقاله، علتهای شایع بروز این خطا و راهحلهای گام به گام برای رفع آن را بررسی خواهیم کرد.
علتهای بروز خطای “Error Establishing a Database Connection”
۱. اطلاعات اتصال به پایگاه داده نادرست است: اگر نام پایگاه داده، نام کاربری، رمز عبور یا میزبان پایگاه داده اشتباه وارد شده باشد، این خطا رخ میدهد.
۲. سرویس پایگاه داده متوقف شده است: اگر سرویس پایگاه داده (مثلاً MySQL یا MariaDB) در حال اجرا نباشد، نمیتوان به پایگاه داده متصل شد.
۳. مشکلات شبکه یا میزبان: مشکلات شبکه یا پیکربندی نادرست میزبان پایگاه داده نیز میتواند مانع از اتصال شود.
۴. دسترسیهای نامناسب کاربر پایگاه داده: اگر کاربر پایگاه داده مجوزهای لازم برای دسترسی به پایگاه داده را نداشته باشد، این خطا رخ میدهد.
۵. خرابی یا آسیبدیدگی پایگاه داده: گاهی اوقات، پایگاه داده ممکن است به دلیل خطاهای نرمافزاری یا سختافزاری دچار خرابی شود.
۶. محدودیت منابع سرور: منابع ناکافی سرور مانند حافظه یا پردازنده میتواند باعث بروز این خطا شود.
مطالعه بیشتر: نحوه تهیه نسخه پشتیبان از پایگاه داده وردپرس به صورت دستی (گام به گام)
راهحلهای رفع خطای “Error Establishing a Database Connection”
۱. بررسی اطلاعات اتصال به پایگاه داده
مرحله ۱: دسترسی به فایل تنظیمات
ابتدا باید فایل تنظیمات مربوط به اتصال پایگاه داده را پیدا کنید. برای وبسایتهای وردپرسی، این فایل wp-config.php نام دارد و معمولاً در ریشه پوشه نصب وردپرس (همان پوشهای که فایلهای اصلی وردپرس قرار دارد) قرار دارد.
روش دسترسی:
•از طریق مدیریت فایل (File Manager) در پنل هاستینگ خود (cPanel، Plesk، DirectAdmin و غیره).
•یا با استفاده از یک سرویس FTP (مثل FileZilla) به سرور خود متصل شوید و به پوشه ریشه نصب وردپرس بروید.
مرحله ۲: باز کردن فایل تنظیمات
فایل wp-config.php را با استفاده از یک ویرایشگر متن باز کنید. اگر از مدیریت فایل هاستینگ استفاده میکنید، روی فایل راستکلیک کرده و گزینه Edit یا Code Editor را انتخاب کنید. اگر از FTP استفاده میکنید، فایل را دانلود کرده و با یک ویرایشگر متن (مثل Notepad یا VS Code) باز کنید.
مرحله ۳: بررسی اطلاعات پایگاه داده
در داخل فایل wp-config.php، به دنبال خطوطی باشید که اطلاعات اتصال به پایگاه داده را مشخص میکنند. این خطوط معمولاً به این صورت هستند:
define('DB_NAME', 'your_database_name'); // نام پایگاه داده define('DB_USER', 'your_database_user'); // نام کاربری پایگاه داده define('DB_PASSWORD', 'your_database_password'); // رمز عبور پایگاه داده define('DB_HOST', 'localhost'); // میزبان پایگاه داده
نکته: اگر اطلاعات شما به این شکل نیست، ممکن است از روشهای دیگری برای ذخیره اطلاعات اتصال استفاده شده باشد. در این صورت، مستندات سیستم مدیریت محتوای خود را بررسی کنید.
مرحله ۴: بررسی صحت اطلاعات
اطمینان حاصل کنید که مقادیر وارد شده در این خطوط صحیح هستند:
•DB_NAME: نام پایگاه داده که باید با نام واقعی پایگاه داده شما مطابقت داشته باشد.
•DB_USER: نام کاربری که برای دسترسی به پایگاه داده استفاده میشود.
•DB_PASSWORD: رمز عبور مربوط به نام کاربری پایگاه داده.
•DB_HOST: میزبان پایگاه داده. معمولاً این مقدار localhost است، مگر اینکه پایگاه داده شما بر روی سرور دیگری قرار داشته باشد.
مرحله ۵: آزمایش اطلاعات اتصال
اگر به اطلاعات پایگاه داده خود دسترسی دارید، میتوانید صحت این اطلاعات را از طریق یک ابزار مدیریت پایگاه داده (مثل phpMyAdmin) یا خط فرمان بررسی کنید.
روش استفاده از phpMyAdmin:(در صورت دسترسی به ssh)
•وارد phpMyAdmin شوید.
•سعی کنید با استفاده از نام کاربری و رمز عبور پایگاه داده به پایگاه داده مورد نظر متصل شوید.
روش استفاده از خط فرمان:
•وارد خط فرمان سرور شوید.
•دستور زیر را اجرا کنید تا به پایگاه داده متصل شوید:
mysql -u your_database_user -p
•پس از وارد کردن رمز عبور، دستور زیر را برای انتخاب پایگاه داده اجرا کنید:
USE your_database_name;
اگر اتصال موفقیتآمیز باشد، مشکل از اطلاعات اتصال نیست.
مرحله ۶: ذخیره تغییرات و تست مجدد
اگر نیاز به تصحیح اطلاعات داشتید، تغییرات را اعمال کرده و فایل را ذخیره کنید. سپس به وبسایت خود بازگردید و بررسی کنید که آیا مشکل برطرف شده است یا خیر.
با پیروی از این مراحل، میتوانید مطمئن شوید که اطلاعات اتصال به پایگاه داده صحیح است و اگر مشکلی در این بخش وجود دارد، آن را برطرف کنید.
۲. تعمیر پایگاه داده
اگر پایگاه داده خراب شده باشد، نیاز به تعمیر دارد.
مرحله ۱: اگر از وردپرس استفاده میکنید، خط زیر را به فایل wp-config.php اضافه کنید:
define('WP_ALLOW_REPAIR', true);
مرحله ۲: به آدرس زیر در مرورگر بروید:
http://yourdomain.com/wp-admin/maint/repair.php
مرحله ۳: گزینه مناسب را برای تعمیر پایگاه داده انتخاب کنید و پس از اتمام، خط اضافه شده در مرحله ۱ را حذف کنید.
۳.بررسی پیشوند جداول وردپرس
پیشوند جداول در وردپرس معمولاً برای افزایش امنیت استفاده میشود و در فایل wp-config.php تعریف میشود. اگر پیشوند جداول به درستی تنظیم نشده باشد، ممکن است باعث مشکلات اتصال به پایگاه داده شود.
مرحله ۱: باز کردن فایل wp-config.php
فایل wp-config.php را از طریق مدیریت فایل هاست یا FTP باز کنید.
مرحله ۲: پیدا کردن پیشوند جداول
به دنبال خط زیر در فایل wp-config.php بگردید:
$table_prefix = 'wp_';
مرحله ۳: بررسی پیشوند جداول در پایگاه داده
وارد phpMyAdmin شوید و پایگاه داده مورد نظر را انتخاب کنید. بررسی کنید که تمامی جداول با پیشوند مشخص شده در فایل wp-config.php شروع میشوند. اگر پیشوند جداول متفاوت است، مقدار table_prefix را با پیشوند صحیح جایگزین کنید.
۴. بررسی فایل functions.php
گاهی اوقات کدهای نادرست یا خراب در فایل functions.php میتوانند باعث بروز مشکلات شوند.
مرحله ۱: دسترسی به فایل functions.php
این فایل معمولاً در پوشه قالب فعال وبسایت شما قرار دارد. مسیر آن معمولاً به این صورت است:
wp-content/themes/your-theme/functions.php
مرحله ۲: باز کردن فایل functions.php
فایل را با یک ویرایشگر متن باز کنید.
مرحله ۳: بررسی کدهای اخیر
کدهای اخیر اضافه شده را بررسی کنید. اگر اخیراً کدی اضافه کردهاید که ممکن است باعث مشکل شده باشد، آن را موقتاً کامنت کنید یا حذف کنید.
مرحله ۴: ذخیره تغییرات و تست مجدد
تغییرات را ذخیره کنید و وبسایت خود را بررسی کنید.
۵. اصلاح آدرس سایت در صورت انتقال یا تغییر دامنه
اگر وبسایت خود را به دامنه جدیدی منتقل کردهاید یا آدرس سایت تغییر کرده است، باید مطمئن شوید که آدرسهای جدید به درستی تنظیم شدهاند.
مرحله ۱: دسترسی به phpMyAdmin
وارد phpMyAdmin شوید و پایگاه داده مربوط به وبسایت خود را انتخاب کنید.
مرحله ۲: پیدا کردن جدول wp_options
جدول wp_options را پیدا کنید. (توجه: پیشوند جدول ممکن است متفاوت باشد).
مرحله ۳: اصلاح مقادیر siteurl و home
رکوردهای siteurl و home را پیدا کنید و مطمئن شوید که آدرسهای صحیح در این دو فیلد وارد شدهاند.
SELECT * FROM wp_options WHERE option_name = 'siteurl' OR option_name = 'home';
برای بهروزرسانی آنها، میتوانید از دستور زیر استفاده کنید:
UPDATE wp_options SET option_value = 'http://newdomain.com' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = 'http://newdomain.com' WHERE option_name = 'home';
۶.بررسی و اصلاح سطح دسترسی فایلهای وردپرس
سطح دسترسی فایلها و پوشههای وردپرس باید به درستی تنظیم شود تا بتوانند به درستی اجرا شوند.
مرحله ۱: دسترسی به فایلها
از طریق مدیریت فایل هاست یا FTP به فایلها و پوشههای وردپرس دسترسی پیدا کنید.
مرحله ۲: بررسی و اصلاح سطح دسترسی فایلها
سطح دسترسی فایلها باید معمولاً روی ۶۴۴ و سطح دسترسی پوشهها روی ۷۵۵ تنظیم شود.
تغییر سطح دسترسی با FTP:
•برای فایلها: تمامی فایلها را انتخاب کرده و سطح دسترسی آنها را به ۶۴۴ تغییر دهید.
•برای پوشهها: تمامی پوشهها را انتخاب کرده و سطح دسترسی آنها را به ۷۵۵ تغییر دهید.
تغییر سطح دسترسی با ترمینال:
اگر به ترمینال دسترسی دارید، میتوانید دستورات زیر را اجرا کنید:
find /path/to/your/wordpress/ -type d -exec chmod 755 {} \; find /path/to/your/wordpress/ -type f -exec chmod 644 {} \;
توجه: مسیر /path/to/your/wordpress/ را با مسیر واقعی نصب وردپرس جایگزین کنید.
مرحله ۳: ذخیره تغییرات و تست مجدد
پس از تغییر سطح دسترسی، تغییرات را ذخیره کرده و وبسایت خود را بررسی کنید.
۷. بررسی سرویس پایگاه داده
مطمئن شوید که سرویس پایگاه داده در حال اجرا است. برای مثال، اگر از MySQL استفاده میکنید، میتوانید از دستورات زیر در ترمینال استفاده کنید:
sudo service mysql status
اگر سرویس پایگاه داده فعال نیست، میتوانید آن را با دستور زیر راهاندازی کنید:
sudo service mysql start
۸. بررسی دسترسی کاربر پایگاه داده
مطمئن شوید که کاربر پایگاه داده دارای دسترسیهای لازم است. با ورود به پایگاه داده میتوانید این موضوع را بررسی کنید:
mysql -u your_database_user -p
سپس با وارد کردن رمز عبور، میتوانید دسترسی کاربر را بررسی کنید:
SHOW GRANTS FOR 'your_database_user'@'localhost';
۹. بررسی خطاهای لاگ
لاگهای خطا (Error logs) میتوانند اطلاعات مفیدی درباره علت مشکل ارائه دهند. معمولاً لاگهای مربوط به وبسرور (مانند Apache یا Nginx) و پایگاه داده (مانند MySQL) را بررسی کنید.
مثال: بررسی لاگ Apache
tail -f /var/log/apache2/error.log
مثال: بررسی لاگ MySQL
tail -f /var/log/mysql/error.log
۱۰. بررسی تنظیمات سرور
اطمینان حاصل کنید که منابع سرور کافی است و تنظیمات به درستی انجام شده است.
مرحله ۱: منابع سرور (مانند حافظه و پردازنده) را بررسی کنید.
مرحله ۲: تنظیمات سرور مانند محدودیتهای حافظه PHP یا تنظیمات MySQL را بازبینی کنید و در صورت لزوم آنها را افزایش دهید.
۱۱. تماس با پشتیبانی هاستینگ
اگر تمامی مراحل بالا را انجام دادید و مشکل همچنان باقی بود، با پشتیبانی هاستینگ خود تماس بگیرید.
مرحله ۱: اطلاعات مربوط به خطا و اقداماتی که انجام دادهاید را به پشتیبانی ارائه دهید.
مرحله ۲: درخواست کمک برای بررسی بیشتر مشکل و رفع آن کنید.
با انجام این مراحل و بررسیهای دقیق، باید بتوانید مشکل “Error Establishing a Database Connection” را برطرف کنید. هر یک از این مراحل به شما کمک میکنند تا مشکل را شناسایی و رفع کنید.