خطای Host is blocked because of many connection errors چیست؟
خطای Host 'IP' is blocked because of many connection errors یکی از خطاهای رایج MySQL/MariaDB است که وقتی تعداد اتصالات ناموفق از یک آدرس IP به سرور دیتابیس از حد مجاز (max_connect_errors) بیشتر شود، MySQL آن IP را مسدود میکند.
این مکانیزم امنیتی برای جلوگیری از حملات Brute Force به دیتابیس طراحی شده است. اما گاهی باعث مسدود شدن IPهای مجاز (مانند IP خود سرور یا IP وبسرور) نیز میشود.
دلایل بروز خطا
تلاشهای ناموفق زیاد برای اتصال به MySQL از جمله رمز عبور اشتباه در تنظیمات وبسایتها، اسکریپتهایی که به طور مکرر تلاش ناموفق برای اتصال دارند، افزونههای وردپرس با تنظیمات دیتابیس اشتباه، و حملات خارجی به پورت MySQL از دلایل اصلی هستند.
رفع فوری خطا
روش ۱: اجرای دستور FLUSH HOSTS
سریعترین راهحل، پاک کردن لیست هاستهای مسدودشده MySQL:
mysqladmin -u root -p flush-hosts
یا از داخل MySQL:
mysql -u root -p
FLUSH HOSTS;
روش ۲: افزایش مقدار max_connect_errors
فایل پیکربندی MySQL را ویرایش کنید:
nano /etc/my.cnf
در بخش [mysqld] خط زیر را اضافه یا ویرایش کنید:
max_connect_errors = 10000
سپس MySQL را ریاستارت کنید:
systemctl restart mysqld
روش ۳: بررسی اتصالات ناموفق
برای شناسایی منبع اتصالات ناموفق:
tail -100 /var/log/mysqld.log | grep "Aborted"
و بررسی وضعیت فعلی:
mysql -u root -p -e "SHOW GLOBAL STATUS LIKE 'Aborted_connects';"
پیشگیری دائمی
برای جلوگیری از تکرار این مشکل، مطمئن شوید تمام وبسایتها و اسکریپتهای روی سرور اطلاعات صحیح دیتابیس را دارند. محدود کردن دسترسی به پورت MySQL (3306) فقط به IPهای مجاز از طریق فایروال CSF نیز بسیار مؤثر است. همچنین مانیتورینگ لاگهای MySQL برای شناسایی زودهنگام مشکلات توصیه میشود.
اگر سایتهای وردپرسی روی سرور شما با این خطا مواجه میشوند، بهتر است فایل wp-config.php هر سایت را بررسی کنید و اطلاعات دیتابیس را تأیید کنید. انتخاب یک هاست وردپرس با مدیریت حرفهای MySQL این مشکلات را از ریشه حل میکند.
اگر سرور مجازی دارید و نیاز به بهینهسازی MySQL دارید، خدمات کانفیگ سرور میهن هاستینگ شامل تنظیم my.cnf، فایروال و مانیتورینگ دیتابیس نیز میشود.
⚙️ بهینهسازی MySQL سرور
تنظیم حرفهای MySQL، فایروال و مانیتورینگ سرور توسط تیم فنی میهن هاستینگ.