Количество одновременно обрабатываемых подключений у MySQL сервера не беконечно. Существует настройка, которая определяет этот предел. По-умолчанию это 100 одновременных сессий.
При достижении этого максимального количества сервер MySQL просто начинает вываливать вот такую ошибку:
too many connections
Причем подключиться к нему не может никто больше (пока не освободится свободный "слот") - даже администратору с логином root будет писаться так же ошибка.
1)
Почему?Вариантов два:
- Ошибки в коде программ, использующих MySQL базу данных. При этом программы (будь то плохо написанные сайты на веб-сервере или обычные приложения, использующие MySQL как СУБД) создают огромное количество подключений, нередко просто стремящееся к бесконечности. Решением такой ситуации является правка кода сайта, который сбоит, либо обновление программ до последних версий и сообщение разработчику о сложившейся ситуации. Определить такой косяк просто - после перезагрузки сервера MySQL довольно быстро снова заканчиваются подключения.
- Действительно нагрузка на сервер, превышающая его возможности. Как правило, в таком случае, ошибка возникает редко и пропадает сама - нагрузка не остается постоянной и буквально через несколько секунд Вы снова имеете доступный для подключений сервер.
2)
Что делать?Прямо здесь и сейчас, чтобы сервер резко заработал - просто перезапустите службу MySQL.
для Debian/ubuntu:
$ sudo /etc/init.d/mysql restart
для CentOS/RedHat:
$ sudo /etc/init.d/mysqld restart
для FreeBSD:
$ sudo /usr/local/etc/rc.d/mysql-server restart
А дальше:
В первом случае все понятно - решать проблему софта.
Во-втором случае - можно повысить максимальное количество подключений к серверу, которое будет обслуживать MySQL. Бесконечно повышать нельзя - нужно оглядываться на физические ресурсы компьютера, но в случае, если ресурсов хватает - давайте покажем - где же находится та настройка.
3)
Увеличиваем максимальное количество подключенийОткрываем на редактирование файл my.cnf
Ищем и раскоментируем, а если не нашли - просто создаем в разделе [mysqld] настройку:
max_connections = 150
где вместо 150 введите то количество, которое Вам необходимо.
Сохраняем файл и перезапускаем MySQL сервер.
Таким же методом можно и уменьшать максимальное количество подключений.
Актуально для: MySQL 5.x
Комментарии
Оставить комментарий
Базы данных - MySql (Maria DB)
Термины: Базы данных - MySql (Maria DB)