رفع خطای InnoDB: Waiting for the background threads to start در MySQL

خطای InnoDB Waiting for background threads چیست؟

خطای InnoDB: Waiting for the background threads to start هنگام استارت MySQL/MariaDB در لاگ‌ها ثبت می‌شود. این خطا نشان‌دهنده مشکل در راه‌اندازی موتور InnoDB است و معمولاً باعث می‌شود MySQL به‌درستی استارت نشود یا بسیار کند عمل کند.

دلایل

خرابی فایل‌های InnoDB (ibdata1، ib_logfile0، ib_logfile1)، کمبود RAM سرور برای تخصیص innodb_buffer_pool_size، قطع ناگهانی برق یا کرش سرور، و تنظیمات نادرست InnoDB در my.cnf از دلایل اصلی هستند.

روش‌های رفع

روش ۱: بررسی لاگ خطا

tail -100 /var/log/mysqld.log
tail -100 /var/lib/mysql/$(hostname).err

روش ۲: تنظیم innodb_force_recovery

اگر MySQL استارت نمی‌شود، با حالت recovery اجرا کنید:

nano /etc/my.cnf

در بخش [mysqld] اضافه کنید:

innodb_force_recovery = 1

MySQL را استارت کنید. اگر کار نکرد، مقدار را به ۲، ۳ و حداکثر ۶ افزایش دهید. هر عدد سطح بالاتری از recovery را فعال می‌کند.

systemctl start mysqld

مهم: پس از بازیابی، فوراً از دیتابیس‌ها بکاپ بگیرید و سپس این خط را حذف کنید.

روش ۳: حذف و بازسازی لاگ فایل‌های InnoDB

systemctl stop mysqld
mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bak
mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bak
systemctl start mysqld

MySQL فایل‌های لاگ جدید ایجاد می‌کند.

روش ۴: کاهش innodb_buffer_pool_size

اگر RAM سرور کم است:

innodb_buffer_pool_size = 128M

پیشگیری

بکاپ منظم دیتابیس، استفاده از UPS، مانیتورینگ فضای دیسک و RAM. اگر سرور مجازی با RAM بیشتر نیاز دارید، سرور مجازی اروپا میهن هاستینگ گزینه مناسبی است. خدمات کانفیگ سرور شامل بهینه‌سازی MySQL و InnoDB نیز می‌شود.

⚙️ بهینه‌سازی MySQL

تنظیم InnoDB، بهینه‌سازی MySQL و رفع خطاهای دیتابیس.

سفارش کانفیگ سرور ←

ارسال دیدگاه

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

متن نظر
نام*:
رایانامه*:
وب سایت / وبلاگ: