“خطا در ایجاد اتصال پایگاه داده” احتمالاً یکی از رایج ترین خطاهایی است که کاربران وردپرس می توانند با آن مواجه شوند. ارتباط نزدیکی با صفحه سفید مرگ (WSOD) دارد. این خطا به این معنی است که وب سایت شما دیگر ارتباط برقرار نمی کند یا به پایگاه داده وردپرس شما دسترسی ندارد . بنابراین، کل وب سایت شما خراب می شود.
شما باید فوراً این خطا را برطرف کنید، زیرا می تواند مستقیماً بر فروش، ترافیک و تجزیه و تحلیل شما تأثیر بگذارد.
اما نگران نباشید، امروز در مورد سناریوهای رایجی که باعث بروز این خطا میشوند و راههای آسان برای راهاندازی مجدد سایت و راهاندازی آن در کوتاهترین زمان بحث خواهیم کرد.
فهرست مطالب
“خطا در برقراری اتصال پایگاه داده” چیست؟
تمام اطلاعات موجود در سایت وردپرس شما، مانند داده های پست، داده های صفحه، اطلاعات متا، تنظیمات افزونه، اطلاعات ورود و غیره در پایگاه داده MySQL شما ذخیره می شود . تنها دادهای که در آنجا ذخیره نمیشود، محتوای رسانهای مانند تصاویر و تم/افزونه/فایلهای اصلی شما مانند index.php، wp-login.php، و غیره است. هنگامی که شخصی از وبسایت شما بازدید میکند، PHP کد موجود در صفحه را اجرا میکند، پرس و جو میکند. اطلاعات را از پایگاه داده، و سپس آن را به بازدید کننده در مرورگر خود نمایش می دهد.
اگر این به درستی کار نمی کند، همانطور که در زیر مشاهده می کنید، با پیام “خطا در برقراری اتصال پایگاه داده” روبرو می شوید. کل صفحه خالی است زیرا هیچ داده ای برای ارائه صفحه قابل بازیابی نیست، زیرا اتصال به درستی کار نمی کند. این نه تنها جلوی سایت شما را می شکند، بلکه از دسترسی شما به داشبورد وردپرس خود نیز جلوگیری می کند .
با این حال، بازدیدکنندگان ممکن است بلافاصله این خطا را در قسمت جلویی مشاهده نکنند. این به این دلیل است که سایت شما به احتمال زیاد هنوز از حافظه پنهان استفاده می کند تا زمانی که منقضی شود.
سناریوهای رایجی که باعث این خطا می شوند
پس چرا دقیقا این اتفاق می افتد؟ خوب، در اینجا چند دلیل رایج در زیر آورده شده است. و نگران نباشید، ما به هر یک از این موارد عمیق تر خواهیم پرداخت تا بتوانید بدانید که چگونه آنها را تعمیر کنید. معمولاً می توانید این خطا را در کمتر از 15 دقیقه برطرف کنید.
- رایج ترین مشکل این است که اعتبارنامه ورود به پایگاه داده شما نادرست است. سایت وردپرس شما از اطلاعات ورود جداگانه برای اتصال به پایگاه داده MySQL خود استفاده می کند.
- پایگاه داده شما خراب است. با تعداد زیادی قطعات متحرک با تم ها، پلاگین ها و کاربرانی که دائماً آنها را حذف و نصب می کنند، گاهی اوقات پایگاه داده ها خراب می شوند. این ممکن است به دلیل گم شدن یا خراب شدن جدول جداگانه باشد، یا شاید برخی از اطلاعات به طور تصادفی حذف شده باشند.
- ممکن است فایل های خراب در نصب وردپرس خود داشته باشید. حتی گاهی اوقات به دلیل هکرها ممکن است این اتفاق بیفتد.
- مشکلات سرور پایگاه داده شما چندین چیز ممکن است در انتهای میزبان وب اشتباه باشد، مانند بارگذاری بیش از حد پایگاه داده از افزایش ترافیک یا عدم پاسخگویی به دلیل تعداد زیادی از اتصالات همزمان. این امر در هاست های اشتراکی رایج است زیرا آنها از منابع مشابهی برای بسیاری از کاربران در سرورهای یکسان استفاده می کنند.
- اوج در ترافیک. بسته به میزبان وب مورد استفاده شما، سرور شما ممکن است نتواند بسیاری از اتصالات همزمان پایگاه داده را مدیریت کند. افزایش ترافیک می تواند منجر به مشکلات موقتی در پایگاه داده شود.
نحوه رفع “خطای ایجاد اتصال به پایگاه داده”
قبل از عیب یابی خطا، توصیه می کنیم از سایت وردپرس نسخه پشتیبان تهیه کنید. بسیاری از توصیه های زیر شامل دستکاری اطلاعات در پایگاه داده شما است، بنابراین نمی خواهید اوضاع را بدتر کنید. شما همیشه باید قبل از تلاش برای اصلاح موارد در سایت وردپرس خود پشتیبان تهیه کنید، مهم نیست که چقدر از فناوری آگاه هستید.
شما می توانید از یک افزونه محبوب بک آپ گیری وردپرس مانند Duplicator pro یا WP Time Capsule برای پشتیبان گیری از فایل ها و پایگاه داده خود استفاده کنید.
سپس شما همچنین می توانید یک نسخه پشتیبان را به مرحله تولید یا مرحله بازیابی کنید. یا می توانید به صورت دستی از پایگاه داده MySQL خود با استفاده از phpMyAdmin نسخه پشتیبان تهیه کنید . پس از پشتیبان گیری موفقیت آمیز، وقت آن است که مشکلات اتصال پایگاه داده خود را عیب یابی کنید.
1. اعتبار ورود به پایگاه داده خود را بررسی کنید
اولین کاری که باید انجام دهید این است که مطمئن شوید اعتبار ورود به پایگاه داده شما صحیح است. این شایع ترین دلیلی است که چرا پیام “خطا در ایجاد اتصال پایگاه داده” رخ می دهد. به خصوص بلافاصله پس از مهاجرت افراد به یک ارائه دهنده میزبانی جدید. جزئیات اتصال برای سایت وردپرس شما در فایل wp-config.php ذخیره می شود که به طور کلی در ریشه سایت وردپرس شما قرار دارد.
این شامل چهار بخش مهم از اطلاعات است که باید صحیح باشد تا اتصال با موفقیت انجام شود.
نام پایگاه داده
// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');
نام کاربری پایگاه داده MySQL
/** MySQL database username */
define('DB_USER', 'xxxxxx');
رمز عبور پایگاه داده MySQL
/** MySQL database password */
define('DB_PASSWORD', 'xxxxxxxxx');
نام میزبان MySQL (سرور)
/** MySQL hostname */
define('DB_HOST', 'localhost');
برای دسترسی به فایل wp-config.php خود، می توانید از طریق SFTP به سایت خود متصل شوید و به ریشه سایت خود بگردید. یا اگر از cPanel استفاده میکنید، میتوانید روی «File Manager» کلیک کنید، به ریشه سایت خود بروید و برای ویرایش فایل کلیک راست کنید.
در زیر مثالی از شکل ظاهری فایل در هنگام باز کردن آورده شده است.
اعتبار پایگاه داده را در سی پنل بررسی کنید
اولین چیزی که باید بررسی شود نام پایگاه داده است. برای این کار باید در cPanel در قسمت Databases وارد phpMyAdmin شوید.
شما باید نام پایگاه داده خود را در پایین سمت چپ ببینید. شما می توانید پایگاه داده “information_schema” را نادیده بگیرید زیرا این چیزی است که توسط میزبان استفاده می شود. سپس می خواهید آن نام را با مقدار DB_NAME در فایل wp-config.php خود مقایسه کنید. اگر مطابقت دارند، پس این مشکل نیست. اگر مطابقت ندارند، باید فایل wp-config.php خود را به روز کنید.
همچنین می توانید با اطمینان از اینکه حاوی URL سایت وردپرس شما است، تأیید کنید که این پایگاه داده صحیح است. برای انجام این کار، روی پایگاه داده کلیک کنید و سپس روی جدول wp_options کلیک کنید (این ممکن است برای اهداف امنیتی کمی متفاوت باشد، مانند wpxx_options). در بالای جدول، مقادیر آدرس و نام سایت خود را مشاهده خواهید کرد. اگر این موارد با سایت فعلی شما مطابقت دارند، می توانید مطمئن باشید که در مکان مناسبی هستید.
اگر نام پایگاه داده شما قبلاً درست بوده است و همچنان پیام «خطا در ایجاد اتصال پایگاه داده» را دریافت میکنید، باید نام کاربری و رمز عبور خود را نیز بررسی کنید. برای انجام این کار، باید یک فایل PHP جدید در دایرکتوری ریشه سایت وردپرس خود ایجاد کنید و کد زیر را وارد کنید. شما می توانید آن را هر چه می خواهید نام گذاری کنید، مانند checkdb.php. مقادیر db_user و db_password را با مقادیر موجود در فایل wp-config.php تغییر دهید.
<?php
$test = mysqli_connect('localhost', 'db_user', 'db_password');
if (!$test) {
die('MySQL Error: ' . mysqli_error());
}
echo 'Database connection is working properly!';
mysqli_close($testConnection);
سپس فایل را در سایت وردپرس خود مرور کنید: https://yourdomain.com/checkdb.php. اگر با «خطای MySQL: دسترسی رد شد» دریافت کردید، میدانید که نام کاربری یا رمز عبور شما اشتباه است و باید برای بازنشانی اعتبار خود به مرحله بعدی بروید.
در زیر پیامی وجود دارد که میخواهید ببینید، «اتصال پایگاه داده به درستی کار میکند». اما مسلماً اگر اینطور بود، شما اینجا نبودید. مطمئن شوید که این فایل را پس از انجام آزمایش حذف/حذف کنید.
بنابراین، در مرحله بعد، باید نام کاربری و رمز عبور خود را بازنشانی کنید. در سی پنل، بر روی MySQL Databases در قسمت Databases کلیک کنید.
به پایین بروید و یک کاربر MySQL جدید ایجاد کنید. سعی کنید یک نام کاربری و رمز عبور منحصر به فرد را انتخاب کنید تا به راحتی نتوان آنها را حدس زد. ابزار تولید رمز عبور که آنها ارائه می دهند عالی کار می کند. سپس بر روی “Create User” کلیک کنید. از طرف دیگر، می توانید رمز عبور کاربر فعلی پایگاه داده را در این صفحه تغییر دهید.
سپس به پایین اسکرول کنید و کاربر جدید خود را به پایگاه داده خود اضافه کنید. صفحه بعدی از شما می پرسد که کدام امتیاز را می خواهید اختصاص دهید. “همه امتیازات” را انتخاب کنید.
سپس آن اعتبارنامه های جدید را بگیرید و فایل wp-config.php خود را به روز کنید. شما می خواهید مقادیر DB_USER و DB_PASSWORD را به روز کنید. همچنین می توانید فایل آزمایشی قبلی را مجدداً اجرا کنید. سپس این باید مشکل اعتبار شما را حل کند. اگر نه، باز هم ممکن است نام میزبان اشتباهی داشته باشید (DB_HOST). برخی از هاست ها از مقادیر متفاوتی استفاده می کنند.
فهرستی از مقادیر رایج میزبان DB را ببینید. معمولاً لوکال هاست خواهد بود. اما اگر مطمئن نیستید همیشه می توانید با ارائه دهنده هاست خود تماس بگیرید یا اسناد آنها را بررسی کنید. برخی نیز ممکن است به جای لوکال هاست از 127.0.0.1 استفاده کنند.
2. تعمیر پایگاه داده خراب
در برخی موارد، ممکن است پایگاه داده شما خراب شده باشد. این ممکن است گاهی اتفاق بیفتد (اگرچه نه خیلی زیاد) زیرا در طول زمان صدها جدول به طور مداوم توسط افزونه ها و تم های جدید اضافه/حذف می شوند. اگر سعی می کنید به داشبورد سایت وردپرس خود وارد شوید و خطای زیر را دریافت می کنید، به این معنی است که پایگاه داده شما خراب است: «یک یا چند جدول پایگاه داده در دسترس نیستند. پایگاه داده ممکن است نیاز به تعمیر داشته باشد. مهم است که توجه داشته باشید که ممکن است این خطا را فقط در قسمت پشتی مشاهده کنید، در حالی که پیام “خطا در ایجاد اتصال پایگاه داده” را در قسمت جلو مشاهده می کنید.
وردپرس یک حالت تعمیر پایگاه داده دارد که می توانید آن را شروع کنید. موارد زیر را به پایین فایل wp-config.php خود اضافه کنید.
define('WP_ALLOW_REPAIR', true);
سپس به مسیر زیر در سایت وردپرس خود بروید: https://yourdomain.com/wp-admin/maint/repair.php. سپس گزینه تعمیر پایگاه داده یا تعمیر و بهینه سازی پایگاه داده را خواهید داشت. از آنجایی که احتمالاً اکنون در حال عیب یابی قطعی در سایت خود هستید، توصیه می کنیم از گزینه تعمیر پایگاه داده استفاده کنید زیرا سریعتر است.
پس از اجرای تعمیر پایگاه داده بالا، مطمئن شوید که خط کدی را که به فایل wp-config.php خود اضافه کرده اید حذف کرده اید. در غیر این صورت، هر کسی میتواند به صفحه repair.php دسترسی پیدا کند. اگر از cPanel استفاده می کنید، می توانید یک تعمیر را از داخل صفحه پایگاه داده MySQL نیز اجرا کنید.
یا می توانید یک تعمیر را از داخل phpMyAdmin اجرا کنید. به سادگی وارد phpMyAdmin شوید پ، روی پایگاه داده خود کلیک کنید و همه جداول را انتخاب کنید. سپس از منوی بازشو، روی «تعمیر جدول» کلیک کنید. این در اصل فقط دستور REPAIR TABLE را اجرا می کند .
و در نهایت، گزینه دیگر شما این است که تعمیر را با استفاده از WP-CLI با دستور زیر اجرا کنید:
wp db repair
مستندات بیشتر در مورد استفاده را در منابع توسعه دهنده وردپرس مشاهده کنید.
اگر هنوز مشکلی در سایت خود دارید، به مرحله عیب یابی بعدی بروید.
3. رفع فایل های خراب وردپرس
دلیل احتمالی زیر که ممکن است پیام «خطا در برقراری اتصال پایگاه داده» را مشاهده کنید این است که فایلهای اصلی وردپرس شما خراب شدهاند. چه این مشکل ناشی از انتقال فایل ها از طریق FTP باشد، چه یک هکر به سایت شما دسترسی پیدا کند یا مشکلی در میزبان شما باشد، می توانید به سرعت آن را برطرف کنید. با این حال، توصیه می کنیم قبل از انجام این کار از سایت خود یک نسخه پشتیبان تهیه کنید.
شما قصد دارید نسخه اصلی وردپرس را در سایت خود جایگزین کنید. شما پلاگین ها، تم ها یا رسانه های خود را لمس نمی کنید، فقط خود نصب وردپرس را لمس نمی کنید.
با این حال، ممکن است هرگونه تغییر یا کد سفارشی که به فایلهایی مانند htaccess. یا wp-config.php اضافه کردهاید را از دست بدهید. اگر قبل از عیبیابی از وبسایت خود نسخه پشتیبان تهیه کرده باشید، نسخههایی از آن فایلها را خواهید داشت که میتوانید بعداً آنها را بازیابی کنید.
برای شروع، باید یک نسخه جدید از وردپرس را از WordPress.org دانلود کنید.
این فایل را در کامپیوتر خود از حالت فشرده خارج کنید. در داخل، می خواهید پوشه wp-content و فایل wp-config-sample.php را حذف کنید.
سپس فایل های باقی مانده را از طریق SFTP در سایت خود آپلود کنید و فایل های موجود خود را بازنویسی کنید. این کار جایگزین همه فایلهای مشکلدار میشود و مطمئن میشود که فایلهای تازهای دارید که تمیز و خراب نیستند. توصیه می شود پس از انجام این کار، کش مرورگر خود را پاک کنید. سپس سایت وردپرس خود را بررسی کنید تا ببینید آیا خطا همچنان وجود دارد یا خیر.
منبع: Kinsta