چنانچه در مراجعه به phpMyAdmin یا دسترسی به دیتابیس با خطای too many connections مواجه هستید به آن معناست که سقف تعداد Connection تنظیم شده در پیکربندی MySQL را مورد استفاده قرار دادهاید.
برای یافتن دیتابیسی که عامل این مشکل است کافیست فرمان زیر را در SSH اجرا کنید:
mysqladmin processlist
با اجرای فرمان قوق نه تنها لیست Connectionها و requestهای در حال اجرای MySQL را مشاهده خواهید کرد بلکه دیتابیس مرتبط را نیز خواهید یافت.
نحوه رفع مشکل:
به این منظور ابتدا لازم است بررسی کنیم که تعداد Connectionهای مجاز MySQL چه میزان تنظیم شده است. بنابراین مراحل زیر را دنبال میکنیم:
1- ابتدا فرمان زیر را اجرا می کنیم تا وارد محیط MySQL شویم:
mysql
mysql -u USER -p PASSWORD
2- حال فرمان زیر را اجرا کنید:
SHOW VARIABLES LIKE 'max_connections';
با اجرای این فرمان نتیجه میتوانید به شکل زیر ظاهر شود:
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
1 row in set (0.001 sec)
در نتیجه فوق تعداد Connection مجاز 151 عدد در نظر گرفته شده است. حال میتوانید با ادامه مراحل تعداد مجاز آن را افزایش دهید:
1- فرمان زیر را جهت باز کردن فایل کانفیگ MySQL اجرا کنید:
nano /etc/my.cnf
2- کد زیر را به آخر فایل اضافه و آن را Save کنید.
max_connections = 512
3- فرمان زیر را اجرا کنید تا MySQL مجددا راه اندازی شود و تغییرات اعمال گردند:
service mysqld restart
کار تمام شد!
