ورود به سایت

اطلاعات را وارد کنید.

عضویت در سایت

اطلاعات را وارد کنید.

تأیید عضویت به شما ایمیل خواهد شد.

کلمه را برای جستجو وارد کنید .

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

آخرین محصولات فروشگاه

بزودی ...
نویسنده : سعید
تاریخ : ۱۳۹۷/۰۵/۰۱
نظر : بدون نظر
بازدید : 195

رفع مشکل خطا در برقراری ارتباط با پایگاه داده

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

توجه مهم : قبل از این که هر تغییری در دیتا بیس ایجاد کنید ، یک بکاپ کافی از اطلاعات سایت تهیه کنید .

چرا این مشکل بوجود میاد ؟

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

وقتی که تمام شد میتونید تنظیمات باز سازی را در ادرس زیر مشاهده کنید. http://www.yoursite.com/wp-admin/maint/repair.php به جای yoursite.com آدرس سایتتون را قرار بدید .

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

برسی فایل wp-config

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

بخاطر داشته باشید که مقدار DB_Host همیشه برابر localhost نیست و بسته به هاستی که دارید می تواند متفاوت باشد . اما در اکثر هاست ها همین مقدار را بزارید درست کار می کند ولی بهتر است مقدار اصلی که معمولا آی پی و پورت سایت می باشد را از هاستینگ خود سوال کنید . برای مثال میتوانید در هاستینگ محلی داخل کامپیوتر خود که معمولا با نرم افزارهایی مثل xampp یا wamp یا mamp و … کار میکنند ، از این ای پی و پورت استفاده کنید ‌.

اگر همه چیز در این فایل درست است (غلط املایی نیز چک شود ) ، دیگر فقط آن رسیده است که بگوییم مشکلی درسمت سرور وجود دارد .

میزبانی وب سایت را برسی کنید ( mysql)

اغلب شما وقتی متوجه خطای برقراری ارتباط با دیتابیس می شوید که سایت مورد هجوم ترافیک و بازدید زیادی قرار گرفته باشد . اساسا سرور هاستینگ شما توانایی رسیدگی به لود کردن را ندارد ؛ مخصوصا وقتی که از هاست اشتراکی استفاده می کنید . سرعت سایت شما بسیار کاهش پیدا می‌کند و برای بعضی کاربران خطا نمایش داده می شود . بنابراین بهترین کاری که میتوانید بکنید این هست که از سرویس دهنده هاستینگ خود بپرسید که آیا سرور Mysql قابلیت واکنش گرایی را دارد یا خیر . خطاب به آن دسته از کاربرانی که میخواهند سرور Mysql را خودشان تست و برسی کنند ، شما می توانید با انجام چند کار کوچک این کار را انجام دهید . سایت های دیگری بر روی سرور شما قرار دارند را تست کنید . اگر آن ها نیز همین مشکل را داشتند پس یقینا مشکلی در سرور Mysql شما وجود دارد . اگر سایت های دیگر مشکلی نداشتند ، به راحتی به cpanel یا direct admin رفته و سعی کنید که از طریق phpMyAdmin به دیتابیس متصل شوید . اگر میتوانید متصل شوید پس باید برسی کنیم که کاربری که به دیتابیس متصل شده دسترسی لازم را دارد یا نه . برای این کار یک فایل به نام testconnection.php در هاست خود ایجاد کنید و کد زیر را در آن قرار دهید .

حالا قسمت یوزرنیم و پسورد را با اطلاعات کاربر دیتابیس خود تغییر دهید . اگر عبارت Connected successfully بعد فراخوانی این فایل مشاهده کردید ، پس این به این معنی هست که کاربر دسترسی های لازم را دارد و مشکل از چیز دیگری هست . دوباره به فایل wp-config برگردید و مطمئن شوید که همه چیز درست هست ( املای صحیح راچک کنید ) . اگر در برقراری ارتباط با دیتابیس با استفاده از phpMyAdmin مشکلی بود ، پس باید بدانید که مشکلی با سرور وجود دارد و لزوما به این معنی نیست که سرور Mysql از کار افتاده . میتواند به این معنی باشد که کاربری دسترسی کافی به دیتابیس را ندارد . معمولا اگر دسترسی های کاربر کافی نباشد با همچنین خطایی موجه خواهید شد .

#۱۰۴۵ – Access denied for user ‘foo’@’%’ (using password: YES)

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

راه حل هایی که میتواند برای بقیه بکار بیاید

توجه مهم : این مهم هست بدانید این راه حل ها ممکن هست برای شما جوابگو نباشد و استفاده از این ها با ریسک شخصی خودتان هست و قبل از هرچیز از وجود یک بکاپ کافی مطمئن شوید . حتی بعد از بازسازی دیتابیس ممکن این مشکل از بین نرود ؛ در این صورت مشکل میتواند حتی از آدرس سایت باشد چون ممکن است تغییر یافته باشد . درصورتی دانش کافی از دیتا بیس دارید با قرار دادن کد کوعری زیر در دیتابیس با استفاده از phpmyadmin این مشکل را رفع کنید .

مطمعن شوید که آدرس سایت خود را به جای YOUR_SITE_URL قرار دادید . این ممکن است مشکل شما را حل کند . یکی از احتمالاتی که داده میشود این است که ممکن است مشکل از افزونه ای باشد که فعال است . با روشی که خدمت شما می گوییم می توانید افزونه های فعال را غیر فعال کنید . برای اینکار کافیه به جدول wp_options در دیتابیس رفته و محتوای فیلد active_plugins را پاک کنید . اینگونه افزونه های شما غیرفعال می شوند و می تواند مشکل را حل کند.

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

اگر راه حل دیگری داشتید که برای شما عملی بود لطفا در نظرات به ما بگویید .