Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

MySQL: ошибка "too many connections" или как изменить количество подключений (максимальное)

Практика



Количество одновременно обрабатываемых подключений у 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

создано: 2017-05-09
обновлено: 2020-10-31
134665



Рейтиг 10 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

MySql (Maria DB)

Термины: MySql (Maria DB)