آموزش رفع خطا در برقراری ارتباط با پایگاهداده وردپرس

خطا در برقراری ارتباط با پایگاهداده یا error establishing a database connection یکی از متداولترین خطاهای وردپرس است که هر مدیر سایتی حداقل یکبار تجربه کرده یا تجربه خواهد کرد پس زمانی که دچار این خطا شدیم باید بدونیم چیکار کنیم در این مقاله آموزش رفع خطا در برقراری ارتباط با پایگاهداده رو توضیح خواهیم داد تا اگر با این ارور در وردپرس و سایتتون برخورد کردید سریعاً بتونید مشکل رو برطرف کنید چون اگر سریع این مشکل رو حل نکنید هم کاربران و هم گوگل نسبت به سایتتون بدبین می شوند و ممکن است برای مدتی رشد سایتتون افت پیدا کند.
خلاصه این مطلب:
Toggleآموزش رفع خطا در برقراری ارتباط با پایگاهداده وردپرس
برای رفع خطا در برقراری ارتباط با پایگاهداده یا error establishing a database connection راه و روش های مختلفی وجود داره که شما باید تک تک این روش هارو تست کنید تا بررسی کنید مشکل از کجاست و کدوم راه حل برای سایت شما جواب میده و کاربردی است در ادامه چند دلیل که می تونه باعث مشکل خطا در برقراری ارتباط با پایگاهداده شده باشه رو ذکر می کنیم
- حذف شدن دیتابیس یا پایگاه داده سایت
- اشتباه وارد کردن یا همخوانی نداشتن اطلاعات در فایل wp-config.php
- خطا بعد از تغییر پیشوند جداول دیتابیس
- تغییر سطح دسترسی به فایلهای هاست
- بروز خطا هنگام انتقال وردپرس به دامنه و یا هاست جدید
- وجود مشکل در سرور
- و…
خب ما در ادامه آموزش رفع خطا در برقراری ارتباط با پایگاهداده وردپرس سعی می کنیم مشکل رو پیدا کنیم و نسبت به رفع آن اقدام کنیم اما قبل از همه چیز سعی کنید یک بکاپ از سایتتون بگیرید تا اگر اوضاع بدتر شد امکان بازگشت به حالت قبل وجود داشته باشه
توجه
برای بکاپ گرفتن از سایت می تونید از آموزش بکاپ گرفتن از وردپرس استفاده کنید. اینم از بکاپ گرفتن حالا بریم سراغ راه حل های رفع مشکل خطا در برقراری ارتباط با پایگاهداده
تست کردن اطلاعات اتصال به دیتابیس وردپرس
وارد هاستتون شوید و یک فایل با نام دلخواه با پسوند php در پوشه public_html ایجاد کنید مثلا می تونید یک فایل با نام kitwp.php ایجاد کنید و سپس کد زیر رو درون فایل کپی کنید.
<?php
$link = mysql_connect('localhost','پسورد دیتابیس', 'نام دیتابیس');
if (!$link) {
die('خطا در اتصال: ' . mysql_error());
}
echo 'اتصال به دیتابیس با موفقیت انجام شد';
mysql_close($link);
?>
حالا کد بالا رو طبق موارد خواسته شده باید سفارش سازی کنید هر کدوم از اطلاعات خواسته شده رو در زیر توضیح دادیم
- نام دیتابیس : در این بخش شما باید نام دیتابیسی که برای وردپرس خودتون ساختید رو قرار دهید
- پسورد دیتابیس : در این بخش هم باید رمز عبور دیتابیس رو وارد کنید
بعد از اینکه این دو مقدار رو جایگذاری کردید فایل رو ذخیره کنید و به آدرس http://site.com/kitwp.php برید دقت کنید که به جای site.com باید آدرس سایت خود را وارد کنید. بعد از اینکه اینتر رو زدید اگر پیغام “اتصال به دیتابیس با موفیت انجام شد” رو مشاهده کردید یعنی اطلاعات دیتابیس شما درست است و اگر همین اطلاعاتی که وارد کردید رو در فایل wp-config.php هم مشاهده کردید به این معنی است که اتصال به دیتابیس شما مشکلی ندارد.
اما اگر پیغام “خطا در اتصال” رو مشاهده کردید یعنی اطلاعات وارد شده در فایل kitwp.php با دیتابیس شما مطابقت ندارد که این می تواند یک دلیل داشته باشد اطلاعات وارد شده با اطلاعات دیتابیس شما همخوانی ندارد و نیاز به بررسی است که از روش زیر می توانید این مورد رو بررسی کنید و نسبت به رفع خطا در برقراری ارتباط با پایگاهداده اقدام کنید.
بررسی فایل دیتابیس wp-config.php
یکی از ضروری ترین کارهایی که اول از همه باید برای رفع مشکل خطا در برقراری ارتباط با پایگاهداده انجام بدید بررسی فایل wp-config.php وردپرس است این فایل در پوشه روت یعنی همون Public_html قرار داره اگر از لوکال هاست استفاده می کنید در پوشه www در ومپ و htdocs در زمپ قرار داره بعد از اینکه این فایل رو پیدا کردید روی گزینه edit در هاست بزنید تا کدهای فایل براتون باز بشه اگر داخل لوکال هاست هستید می تونید با یکی از ویرایشگر متنی که در ویندوز وجود داره فایل رو باز کنید بعد از اینکه فایل رو باز کردید با یک چنین کدهایی روبرو می شوید.
/** The name of the database for WordPress */
define('DB_NAME', "emperor");
/** MySQL database username */
define('DB_USER', "root");
/** MySQL database password */
define('DB_PASSWORD', "");
/** MySQL hostname */
define('DB_HOST', "localhost");
شاید در این فایل کدهایی دیگری هم وجود داشته باشه ولی فقط این بخش هست که ما دنبالش هستیم چون این قسمت مربوط به وصل شدن وردپرس به دیتابیس هست که شامل اطلاعات زیر هست
- define(‘DB_NAME’, “emperor”) : در این بخش باید نام دیتابیس رو قرار دهیم مثلا در این مثال نام پایگاه داده ما emperor است.
- define(‘DB_USER’, “root”) : در این قسمت باید نام کاربری که می تونه به دیتابیس دسترسی داشته باشه رو انتخاب کنیم که در مثال ما چون با لوکال هاست کار شده نام کاربری رو root قرار دادیم.
- define(‘DB_PASSWORD’, “”) : این بخش باید رمز عبوری که برای دسترسی دیتابیس تعیین شده رو انتخاب کنیم. همونطور که می دونید برای لوکال هاست نیازی به رمز عبور نیست و می بینید که ما رمز عبور رو خالی رها کردیم.
- define(‘DB_HOST’, “localhost”) : و در نهایت باید هاست خودتون رو تنظیم کنید که همیشه چه در لوکال هاست و چه در هاست اصلی باید این گزینه رو localhost تنظیم کنید.
خب حالا باید اطلاعات فایل wp-config.php که توضیحش رو دادیم با اطلاعات هاستمون مقایسه کنیم و ببینیم هردو یکی هست یا خیر اگر هر دو یکی نبود احتمالاً مشکل خطا در برقراری ارتباط با پایگاهداده وردپرس همین موضوع باشد و باید هردو رو یکی کنیم. برای مقایسه کردن وارد هاستتون بشید. ممکن هست شما از هاست های مختلفی استفاده کنید به همین دلیل من آموزش پیداکردن دیتابیس داخل هر سه تا پنل هاست یعنی سی پنل، دایرکت ادمین و لوکال هاست رو آموزش خواهم داد.
رفع خطا در برقراری ارتباط با پایگاهداده سی پنل
اول از همه بریم سراغ سی پنل برای وارد شده به محیط دیتابیس مانند تصویر زیر وارد محیط سی پنل و بخش database شوید

حالا ادامه آموزش رفع خطا در برقراری ارتباط با پایگاهداده رو می خواهیم بر مبنای سی پنل پیش بریم چون اکثر دوستان از همین پنل استفاده می کنند پس قاعده اصلی ما سی پنل است. خب بعد از اینکه در محیط سی پنل گزینه MySQL Database رو انتخاب کردید وارد محیطی می شوید که می تونید به دیتابیس ها و نام های کاربری دسترسی داشته باشید مثلا من از بخش Current Databases می تونم به پایگاه داده هایی که داخل هاستم ایجاد کردم دسترسی داشته باشم.

همونطور که در تصویر بالا مشاهده می کنید نام دیتابیس من digital2_woodmart است و نام کاربری که به آن اختصاص داده شده digital_isaac است پس باید این دو اطلاعات رو با مقداری که داخل فایل wp-config.php بود مقایسه کنیم همونطور که قبلا اطلاعات این فایل رو در بالا کالبد شکافی کردیم متوجه می شویم که مقدارها متفاوت این و باید یکی شوند.
اگر یادتون باشه برای اطلاعات دیتابیس ما 3 مقدار مهم داشتیم که به صورت زیر بودند
- نام دیتابیس
- نام کاربری
- رمز عبور
تا اینجای مقاله آموزش رفع خطا در برقراری ارتباط با پایگاهداده ما نام دیتابیس و نام کاربری رو پیدا کردیم فقط مونده رمز عبور که اگر داخل سی پنل یکم بیایید پایین تر از بخش Current Users می تونید مانند تصویر زیر به نام کاربری ها و گزینه تغییر رمز عبور دسترسی داشته باشید

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

رفع خطای برقراری ارتباط با پایگاهداده در لوکال هاست
اما آخرین جایی که شما امکان داره دنبال دیتابیس باشید لوکال هاست است برای لوکال هاست هم احتمالاً از زمپ یا ومپ استفاده می کنید اگر از wamp استفاده می کنید قبل از همه چیز گزینه Start All Services رو کلیک کنید تا رنگ آیکون به سبز رنگ تبدیل شود سپس تست کنید در محیط Xampp هم دقت کنید که حتماً باید گزینه های Apache و MySQL رو start کنید تا هردو سبز رنگ شوند.
اما اگر مشکل خطا در برقراری ارتباط با پایگاهداده از این قسمت ها نبود مانند تصویر زیر وارد محیط دیتابیس شوید و پایگاه داده خود را پیدا کنید مثلاً در این مثال ما نام دیتابیس emperor است.

اگر در لوکال هاست مشکل رفع خطا در برقراری ارتباط با پایگاهداده رو دارید امکان دارد مشکل از دیتابیس شما نباشد بلکه مشکل از ویندوز باشد مثلاً امکان دارد آنتی ویروس یا فایروال ویندوز برای این مسئله تداخل ایجاد کرده باشد که باید آنها را غیر فعال کنید یا نرم افزار Wamp و Xampp شما مشکل پیدا کرده باشد که باید دوباره نصب کنید.
توجه
اگر تمام موارد رو انجام دادید و مشکل شما حل نشد باید از اول وردپرس رو نصب کنید. مثلاً اگر بسته نصبی نصب می کردید و مشکل خطا در برقراری ارتباط با پایگاه داده براتون پیش اومد باید دوباره بسته نصبی رو نصب کنید تا مشکلتون حل بشه
بروزرسانی آدرس دامنه بعد از انتقال
اگر شما دامنه یا هاستتون رو تغییر دادید ممکن است در فرایند این انتقال یکسری جاها تنظیمات رو فراموش کرده باشید و یک مرحله رو جا گذاشته باشید مثلا یکی از مراحلی که می تونه به خطا در برقراری ارتباط با پایگاهداده ربط داشته باشه تنظیم کردن دامنه جدید در دیتابیس هست که باید به صورت زیر آن را بررسی و انجام دهید.
مانند تصویر زیر وارد دیتابیس سایتتون بشید

سپس بین دیتابیس های موجود دیتابیس سایت اصلی خودتون رو پیدا کنید و وارد جدول wp_options شوید

خب بعد از اینکه وارد جدول wp_options شدید در ردیف اول و دوم جدول مانند تصویر زیر باید نام دامنه جدید خود را قرار دهید یعنی ردیف هایی که option_name آنها siteurl و home است را مقدار option_value آنها را نام دامنه جدید سایت خود قرار دهید.

بررسی سطح دسترسی فایلهای هاست وردپرس
گاهی اوقات ممکن است مشکل خطا در برقراری ارتباط با پایگاهداده به دلیل تغییر سطح دسترسی فایل های هاستتون به وجود اومده باشه چون معمولاً هاست ها برای امنیت بیشتر سایت ها فایل هارو در سطح های مختلفی از لحاظ دسترسی دسته بندی می کنند مثلاً همیشه باید سطح دسترسی برای فایل های زیر
- سطح دسترسی برای فایلهای وردپرس معادل 644 باشد.
- سطح دسترسی برای پوشههای وردپرس معادل 755 باشد.
حالا باید بررسی کنید و ببینید ایا دو نکته بالا برای تمام فایل های پوشه public_html شما صدق می کند یا خیر برای بررسی کردن هم می تونید فایل مورد نظر رو انتخاب کنید مثلا فایل wp-config.php و بعد از راست کلیک کردن روی change premission کلیک کنید تا پنجره زیر براتون باز شود

تعمیر پایگاه داده وردپرس
اگر هیچ کدوم از روش های بالا برای رفع خطا در برقراری ارتباط با پایگاهداده جواب نداد می تونید از روش تعمیر پایگاه داده استفاده کنید برای اینکار فایل wp-config.php رو باز کنید و تیکه کد زیر رو در جای مناسبی قرار دهید
define( 'WP_ALLOW_REPAIR', true );
بعد از اینکه تنظیمات رو ذخیره کردید یک تب مرورگر باز کنید و آدرس زیر رو وارد کنید
http://kitwp.com/wp-admin/maint/repair.php
دقت کنید که با جای kitwp.com باید آدرس سایت خودتون رو قرار دهید بعد از اینکه آدرس رو وارد کردید و اینتر زدید وارد صفحه زیر می شوید

در این صفحه روی گزینه تعمیر پایگاه داده کلیک کنید تا تعمیر دیتابیس صورت گیرد بعد از تکمیل شدن این فرایند مجدد به فایل wp-config.php برگردید و کدی که اضافه کردید رو بردارید و سپس فایل رو ذخیره کنید حالا می تونید برید سایتتون رو بررسی کنید و رفرش کنید اگر مشکل خطا در برقراری ارتباط با پایگاهداده برطرف شده بود که بهتر اما اگر مشکل رفع نشده بود از این دو روش رو هم استفاده کنید.
بررسی پیشوند جداول پایگاه داده
زمانی که شما وردپرس نصب می کنید پیشوند پیش فرض جداول wp_ است شما می تونید خودتون پیشوندهای دلخواه برای جداول پایگاه داده در وردپرس تنظیم کنید بعضی از افراد برای امنیت بیشتر این پیشوندهارو توسط خودشون یا یک افزونه امنیتی تغییر می دهند شما باید مطمئن شوید این مورد در فایل کانفیگ و پایگاه داده یکی باشد و باعث مشکل خطا در برقراری ارتباط با پایگاهداده نشده باشد.
تیکت زدن به هاست و درخواست کمک
اگر تمام موارد بالارو برای رفع خطا در برقراری ارتباط با پایگاهداده انجام دادید ولی مشکلتون حل نشد باید از میزبان هاستتون درخواست کمک کنید برای اینکار وارد پنل کاربری هاستتون بشید و از طریق تیکت مشکل رو با میزبان در میان بگذارید.
درباره اسحاق شفایی
اسحاق شفایی مدیر وبسایت کیت وردپرس و دانشجوی کارشناسی ارشد Computer Science در دانشگاه پادوا ایتالیا هستم. چندین سال است که در حوزه وب فعالیت می کنم و تخصص اصلیم توسعه وب هست همچنین بعد از یادگیری علاقه زیادی به آموزش دادن دارم.
سایر نوشته های اسحاق شفایی
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.