The error returned was too many connections dle

С чего эта ошибка может выскакивать, причём на всех сайтах моего выделенного сервера. Началось недавно, посмотрел по трафику, всё вроде как и должно быть, народу, естественно, меньше чем на выходные, тогда с чего эта ошибка может вылазить? Моя ссылка

Рекомендованные сообщения

Kolbaser

    • Рассказать

С чего эта ошибка может выскакивать, причём на всех сайтах моего выделенного сервера. Началось недавно, посмотрел по трафику, всё вроде как и должно быть, народу, естественно, меньше чем на выходные, тогда с чего эта ошибка может вылазить?

Моя ссылка

  • Цитата

Ссылка на сообщение
Поделиться на других сайтах

ower_xz

    • Рассказать

С чего эта ошибка может выскакивать, причём на всех сайтах моего выделенного сервера. Началось недавно, посмотрел по трафику, всё вроде как и должно быть, народу, естественно, меньше чем на выходные, тогда с чего эта ошибка может вылазить?

Моя ссылка

Превышено максимальное количество одновременных подключений к вашему mysql серверу. Настройки его смотрите, лимит на количество подключений.

  • Цитата

Ссылка на сообщение
Поделиться на других сайтах

Kolbaser

    • Рассказать

С чего эта ошибка может выскакивать, причём на всех сайтах моего выделенного сервера. Началось недавно, посмотрел по трафику, всё вроде как и должно быть, народу, естественно, меньше чем на выходные, тогда с чего эта ошибка может вылазить?

Моя ссылка

Превышено максимальное количество одновременных подключений к вашему mysql серверу. Настройки его смотрите, лимит на количество подключений.

Странно… у меня было народу на сайтах в полтора раза больше и всё работало без тормозов…

А это может быть последствием кражи моей БД/установки на какой-нить сайт, а картинки запускаются с моего сервака?

  • Цитата

Ссылка на сообщение
Поделиться на других сайтах

ower_xz

    • Рассказать

Странно… у меня было народу на сайтах в полтора раза больше и всё работало без тормозов…

А это может быть последствием кражи моей БД/установки на какой-нить сайт, а картинки запускаются с моего сервака?

Дело не в посетителях. Тот же гугл может такую нагрузку создавать или граббер какой-нибудь. В этом случае к серверу сразу идет очень большое количество запросов в единицу времени. У меня, например, есть моменты, когда одновременно делается до 400 запросов (если данные скрипта не обманывают).

  • Цитата

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже.

Если у вас есть аккаунт, войдите в него для написания от своего имени.

eargonx

На сайте с 20.05.2008

Offline

45

18 августа 2010, 18:04

1432

Суть такова. Есть выделеный сервак, на нем стоит 5 сайтов DLE, на 1 сайте высокая посещалка, на остальных маленькая. Так вот часто бывает по вчерам что серва виснет и на сайтах выводится ошибка:

MySQL Error!

————————

The Error returned was:

Too many connections

Error Number:

1

Увеличил max_connections с 150 до 400, ошибка повторяется.

БД всех сайтов проверил, таблицы целые.

Кто сталкивался с такой проблемой?

Zaqwr

На сайте с 08.08.2007

Offline

111

18 августа 2010, 18:08

#1

таймауты уменьшить, в php.ini что ?

Администрирование, Linux, Cisco, Juniper

eargonx

На сайте с 20.05.2008

Offline

45

18 августа 2010, 18:23

#2

Zaqwr:
таймауты уменьшить, в php.ini что ?

вы про это?

/etc/php.ini

default_socket_timeout = 60?

Это даст результат? И до скольки рекомендовано уменьшить?

kxk

На сайте с 30.01.2005

Offline

972

18 августа 2010, 18:33

#3

eargonx, Давайте я вам за 100$ сделаю кеш на nginx для сайтов и проблема исчезнет ?

Ваш DEVOPS

eargonx

На сайте с 20.05.2008

Offline

45

18 августа 2010, 18:37

#4

kxk:
eargonx, Давайте я вам за 100$ сделаю кеш на nginx для сайтов и проблема исчезнет ?

дорого(

думаю дешевле будет платную поддержку нанять

kxk

На сайте с 30.01.2005

Offline

972

18 августа 2010, 18:40

#5

eargonx, Ну нанимайте :)

pupseg

На сайте с 14.05.2010

Offline

347

18 августа 2010, 18:55

#6

eargonx, нужно смотреть. от 80 до 100$.

Поддержку — нанимайте. правка после любой поддержки мало-мальски известного шаред хостинга в цене может возрасти вдвое. (не в обиду админам хостинга).

Качественная помощь в обслуживании серверов. (/ru/forum/661100)
Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).

Pavel.Odintsov

На сайте с 13.05.2009

Offline

169

18 августа 2010, 18:56

#7

eargonx:
Суть такова. Есть выделеный сервак, на нем стоит 5 сайтов DLE, на 1 сайте высокая посещалка, на остальных маленькая. Так вот часто бывает по вчерам что серва виснет и на сайтах выводится ошибка:

MySQL Error!

————————

The Error returned was:

Too many connections

Error Number:

1

Увеличил max_connections с 150 до 400, ошибка повторяется.

БД всех сайтов проверил, таблицы целые.

Кто сталкивался с такой проблемой?

А как увеличили «Увеличил max_connections с 150 до 400» ? Похоже, просто настройки не применились, а-то для «маленького сервака» больно круто 400 потоков MySQL.

Решение по обнаружению DDoS атак для хостинг компаний, дата центров и операторов связи: FastNetMon (https://fastnetmon.com)

eargonx

На сайте с 20.05.2008

Offline

45

18 августа 2010, 19:04

#8

Pavel.Odintsov:
А как увеличили «Увеличил max_connections с 150 до 400» ? Похоже, просто настройки не применились, а-то для «маленького сервака» больно круто 400 потоков MySQL.

Ручками в файле etc/my.cnf добавил строчку max_connections=400

madoff

На сайте с 01.12.2009

Offline

235

18 августа 2010, 19:24

#9

eargonx:
Ручками в файле etc/my.cnf добавил строчку max_connections=400

Да то что вы ручками то понятно, перезапустите мускуль, после ручек, если после перезапуска не помогает то пишите 15-25 wmz Глянем.

Администратор Linux,Freebsd. (/ru/forum/494299)
построения крупных проектов.
ICQ#: 241606.

Хортица

На сайте с 22.12.2006

Offline

290

18 августа 2010, 20:24

#10

eargonx:
думаю дешевле будет платную поддержку нанять

Обратитесь к Bloody сам пользуюсь и всем рекомендую!

Иногда Вы можете сталкиваться с такой проблемой, что при открытии сайта возникает ошибка: «MySQL error: Too many connections», давайте поговорим о значении этой ошибки, причинах и методах ее устранения.

MySQL error

Что значит ошибка «MySQL error: Too many connections»

Итак, если при входе на сайт Вы видите надпись «MySQL error: Too many connections», то в большинстве случаев это говорит о том, что сайт превысил лимит на количество одновременных соединений к серверу баз данных MySQL. В остальных случаях это может говорить о превышении второго лимита, т.е. лимита на общее количество одновременных подключений к MySQL.

Для справки. Первый лимит регулируется параметром max_user_connections, а второй лимит — max_connections.

Если речь идет о ВЕБ хостинге с mysql, то возникновение ошибки по причине превышения лимита max_connections практически не возможно, поэтому такая ошибка будет возникать только на одном сайте,
даже если у Вас несколько сайтов на одном аккаунте, за исключением ситуаций, когда для всех баз данных указан один пользователь.

Если мы говорим о VDS хостинге или выделенном сервере, то здесь все зависит от настроек сервера MySQL. В том случае, если у Вас max_user_connections не значительно меньше max_connections, равно
или превышает этот параметр, то сбой в работе БД одного сайта повлияет на работу остальных сайтов.

Причины ошибки «MySQL error: Too many connections»

Мы будем рассматривать причины возникновения данной ошибки, только опираясь верную настройку сервера MySQL (о правильной настройке поговорим чуть ниже).

Самой распространенной причиной возникновения ошибки «Too many connections» является ошибка в коде сайта. Зачастую программисты пишут не оптимизированный код работы с БД, это может быть, как
отсутствие закрытий подключений к БД, так и тяжелые запросы, которые выполняются слишком медленно при высокой посещаемости сайта. В результате чего лимит max_user_connections переполняется, и
сервер выдает ошибку.

Второй причиной возникновения ошибки является DDOS-атака на сайт. В результате одновременного вызова большого количества страниц сервер БД не успевает обработать все запросы и выдает ошибку:
«MySQL error: Too many connections».

Третьей причиной ошибки, которая на ВЕБ хостинге почти не достижима (а для сервера и хостинга VDS встречается чаще), является общая нагрузка на сервер БД MySQL.

Методы устранения «MySQL error: Too many connections»

Основным методом устранения ошибки «MySQL error: Too many connections», конечно же, является оптимизация скриптов сайта, так как именно эта причина вызывает чаще всего данную ошибку. Также для каждой БД
мы рекомендуем создавать отдельного пользователя, это позволит изолировать сайты друг от друга.

Если же речь идет об атаке на сайт, то есть два варианта решения проблемы: временное отключение сайта, либо использование услуги защиты от DDOS-атак.

Следующий пункт — общая нагрузка на сервер БД. Если используется услуга ВЕБ хостинга, то решить эту проблему самостоятельно Вы не сможете. В этом случае нужно обратиться в техническую
поддержку хостинг-провайдера.

Говоря о хостинге VDS или выделенном сервере, здесь, прежде всего, нужно проверить, что установленный лимит max_user_connections значительно меньше значения max_connections. Также нужно
обратить внимание на общую нагрузку на VDS (сервер), если VDS (сервер) не справляется с нагрузкой, то количество одновременных подключений будет расти, что в итоге приведет к превышению лимитов.
Стоит обратить внимание и на настройку сервисов VDS (сервера), если какой-то сервис можно оптимизировать, выделив больше ресурсов для MySQL, то это следует незамедлительно выполнить. Если
наличие свободных ресурсов позволяет увеличить значение max_user_connections и max_connections, то это также нужно сделать.

В случае отсутствия навыков решения проблемы «MySQL error: Too many connections» Вы всегда можете обратиться в нашу компанию и заказать администрирование сайта или сервера, что поможет
исправить данную проблему в минимальные сроки.

Время прочтения
4 мин

Просмотры 15K

И снова ERROR 1040…

Техподдержка получает много жалоб на эту печально известную ошибку: ERROR 1040: Too many connections — слишком много соединений. Проблема очевидна: приложение или пользователи создают больше соединений, чем допускает сервер, то есть текущее число соединений превышает значение переменной max_connections.

Ситуация уже сама по себе проблема для конечных пользователей, но если еще при этом у вас нет доступа к серверу для диагностики и исправления причины, все становится совсем плохо. Обычно приходится завершать экземпляр и перезапускать его, чтобы восстановить.

Root-пользователь тоже не может подключиться! Почему?!

В правильно настроенной среде пользователь с привилегией SUPER сможет получить доступ к экземпляру и диагностировать причину ошибки 1040, из-за которой не хватает соединений. Это описано в руководстве:

mysqld разрешает max_connections + 1 клиентских соединений. Дополнительное соединение зарезервировано для аккаунтов с привилегиями SUPER. Когда эти привилегии предоставляются администраторам, а не обычным пользователям (которым они и не нужны), администратор, у которого есть еще и привилегия PROCESS, может подключиться к серверу и использовать SHOW PROCESSLIST, чтобы диагностировать проблемы, даже если подключено максимальное число клиентов без привилегий.

Но куча людей дают привилегии SUPER своим пользователям приложения или скрипта — из-за требований приложения (опасно!) или незнания последствий, а потом зарезервированное соединение занимает обычный пользователь, а административный пользователь (обычно root) не может подключиться.

Как гарантировать доступ к экземпляру

Можно использовать хорошо известный хак с GDB, который советовал Ауримас лет 100 назад для ошибки 1040, но теперь есть решения получше. Правда сначала их надо включить.
С Percona Server 5.5.29 и выше и MySQL 8.0.14 и выше можно настроить еще один порт с дополнительным числом соединений. Приложение не будет использовать эти интерфейсы. Они только для администраторов баз данных и агентов мониторинга и проверки работоспособности (см. примечание ниже).

Настройка Percona Server

Начиная с Percona Server 5.5.29 можно просто добавить extra_port в my.cnf, и при следующем перезапуске порт будет доступен и будет ожидать данные по тому же bind_address, что и обычные соединения. Если не настроить переменную extra_port, дополнительного порта по умолчанию не будет.

Еще можно определить extra_max_connections, чтобы задать количество подключений, которое будет обрабатывать этот порт. Количество по умолчанию — 1.

Для примера я занял все подключения к порту обычных пользователей у экземпляра, где уже настроил extra_port и extra_max_connections в my.cnf:

результат

Кстати, extra_port удален в Percona Server 8.0.14 и выше, поскольку в MySQL Community реализован admin_port с теми же функциями. Так что отредактируйте my.cnf при апгрейде до Percona Server 8.0.14 или выше, если вы уже определили extra_port.

Как я уже сказал, для этого нужен MySQL 8.0.14, где применен WorkLog 12138.

Чтобы включить админский интерфейс, нужно определить admin_addres, который должен быть единственным и уникальным (без подстановочных символов) IPv4, IPv6, IPv4-сопоставленным адресом или именем хоста, по которому админский интерфейс будет ожидать передачи данных. Если эта переменная не определена, интерфейс не включен.

Еще можно определить порт, но это не обязательно. По умолчанию это порт 33062. Если этот порт свободен, это значение не нужно настраивать. Если настраиваете, то поместите обе переменные в раздел [mysqld] в my.cnf.

Наконец, можно настроить create_admin_listener_thread (отключено по умолчанию), который создает отдельный поток для обработки входящих соединений. Это может пригодиться в некоторых ситуациях.

Еще одно различие — в документации Oracle сказано, что:

Число административных соединений не ограничено.

(А у нас значение по умолчанию — 1). Не уверен, что это значит, но я бы был осторожен, чтобы случайно не установить 1 млн соединений. Они, конечно, не ограничены, но ресурсы-то все равно потребляют.

Использование для мониторинга и проверок работоспособности

Удобно, что не только люди могут использовать дополнительный интерфейс или порт в экстренной ситуации, когда мы достигли max_connections. К нему может подключиться система мониторинга и проверки работоспособности прокси/балансировщика нагрузки/обнаружения сервисов.

Скрипты мониторинга смогут извлекать данные для диаграмм, чтобы потом вы разобрались, откуда столько соединений. А скрипты проверки работоспособности будут докладывать об ухудшившемся состоянии сервера, и определенный код может указывать, что соединений много, но сервер справляется (то есть может разобраться сам и лучше чуть дольше подождать до отработки отказа).

Обязательно устанавливайте только по одному соединению за раз для мониторинга и проверки работоспособности, чтобы не забивать extra_max_connections в Percona Server и не создать миллион потоков в MySQL. То есть скрипты не должны подключаться снова, если предыдущий запрос или подключение к базе данных еще активны.

Вот тот же пример, но с MySQL.

Для Percona Server 8.0.14 и выше процесс будет тем же, что и для MySQL Community.

Помогите! Мне нужно войти, но все порты заняты!

Если это та самая причина, по которой вы читаете этот пост, используйте безумный хак с GDB (без обид, Ауримас, просто выглядит рисково :-D) или завершите экземпляр. К счастью, экземпляр почти всегда можно аккуратно завершить с помощью SIGTERM (-15) вместо SIGKILL (-9). Так сервер выполнит чистую остановку, и у потоков будет шанс нормально завершить работу. Просто следуйте инструкциям:

1) Получите PID:

marcos.albe in ~/ pgrep -x mysqld;
650

2) Отправьте SIGTERM в этот PID:

marcos.albe in ~/ kill -15 650;

3) Следите в журнале ошибок, как выполняется завершение работы. Это будет выглядеть примерно так:

2019-07-11T13:43:28.421244Z 0 [Note] Giving 0 client threads a chance to die gracefully
2019-07-11T13:43:28.521238Z 0 [Note] Shutting down slave threads
2019-07-11T13:43:28.521272Z 0 [Note] Forcefully disconnecting 0 remaining clients

Это означает начало процесса завершения работы. Экземпляр будет завершен, когда вы увидите подобную строку:

2019-07-11T13:43:31.292836Z 0 [Note] /opt/percona_server/5.7.26/bin/mysqld: Shutdown complete

Гость Гость

Добрый день. Вчера ночью сайт начел выдавать ошибку Bad gateway 502, подумал что сервер бастует и обновил страницу несколько раз, в итоге увидел вот такую ошибку:
MySQL Error!
————————
The Error returned was:
MySQL server has gone away
Error Number:
2006
Подскажите как её исправить, хостеру писал — сказали что сайт сильно грузит MySql из-за этого выдает такую ошибку.
Так же не могу сделать бекап через phpMyAdmin, выдает ошибку при в ходе:
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.
Подскажите что дела. Вот адрес сайта, посмотрите 8-win.ru
И еще, есть форум он так же установлен в одной базе с DLE но он без проблем работает.
Дополнено (1). I♥NY
Такой модуль действительно есть, но как мне его отключить если у меня нет доступа к сайту? Только по ftm
Igor Pomaranskiy (Igor Pomaranskiy)
В настройках подключения проверил все правильно, Сервер MySQL работает нормально так как у меня стоит несколько сайтов и все остальные работают нормально.
Дополнено (2). I♥NY
Блин я даже не пробовал её открыть) Спасибо большое)

Гость Гость

Судя по сообщению об ошибке, возможны следующие варианты:
1) Сервер MySQL не запущен (или завис);
2) В настройках сайта указаны некорректные подключения к MySQL.

I NY I NY

лучший ответ
Переходите на платный хостинг
Отключите модуль «Кто онлайн» или что-то подобное. Именно он отжирает память.
http://8-win.ru/admin.php прекрасно открылось.

  • Ошибка мускул: MySQL error in file: /engine/modules/show.full.php at line 43 Error Number: 2006
  • Ошибка mysql samp Зашёл в mysql_log там ошибка [ERROR] CMySQLQuery::Execute — (error #2006) MySQL server has gone away
  • MySQL Error! The Error returned was: Access denied for user MySQL @ localhost (using password: YES) Error Number: 1
  • Что значит MySQL Error! The Error returned was: Too many connections Error Number: 1 при переходе по ссылке?
  • MySQL Error! The Error returned was: Unknown column SQL_CALC_FOUND_ROWS in field list Error Number: 1054

Новые вопросы

  • Как упорядочивать номера записей в базе данных mysql?
  • Код на PHP + mySQL механизм взаимодействия
  • MySQL Error Not connection задолбала
  • КАК СОЗДАТЬ СТОЛБЕЦ В MYSQL SAMP
  • PHP MySQL выдернуть записи и тут же их удалить вернув результат

Популярное

  • Как сменить localhost на сервере на другое имя, чтобы можно было зайти по ссылке другому или что для этого нужно?
  • Язык интерфейса MySQL Workbench (версия 8.0.19)
  • Какой для этой задачи MySQL запрос
  • Выборка SQL все кроме
  • Как сделать связь между таблица в MYSQL один ко многим. Работаю с помощью phpMyAdmin?


Просмотр полной версии : MySQL Error! Too many connections


Здравстсвуйте.
У меня куплен отдельный сервер для моих сайтов.
Сегодня на всех моих сайтах вылезла ошибка:

MySQL Error!
————————

The Error returned was:
Too many connections

Очень прошу ответьте мне на следующие вопросы:
1. Как узнать, чем вызвана столь сильная нагрузка на базу? Каким сайтом, каким запросом?
2. Где меняется лимит подключений? (Too many connections)
3. Как узнать, это у меня настолько слабый сервер, что не может меня выдержать? Или это просто у меня слишком маленький лимит поставлен?

Заранее спасибо!


Если ето чем-то поможет, вот результат mytop


ViktorichZ

23.07.2009, 21:53

Extazy, Вам видно что там написано? мне нет


Вот картинки:
http://img174.imageshack.us/img174/6804/20090723154528.png
http://img169.imageshack.us/img169/1062/20090723154457.png
http://img174.imageshack.us/img174/1165/20090723154449.png

тут видимо перечислены самые тяжёлые процессы. но всё равно интересуют ответы на вопросы:
2. Где меняется лимит подключений? (Too many connections)
3. Как узнать, это у меня настолько слабый сервер, что не может меня выдержать? Или это просто у меня слишком маленький лимит поставлен?


ViktorichZ

23.07.2009, 22:20

посмотрите конфиг на тему max_connections исправьте на более высокое значние и перезагрузите сервер (mysqld)


плин а где находится конфиг? my.cnf кажется
здесь нет: /etc/mysql/my.cnf


ViktorichZ

24.07.2009, 00:08

Extazy, знатьбы что у вас за ОС, а так find / -name my.cnf


my.cnf нашёл
но в какой именно место там прописать max_connections ? на оф. сайте не нашёл об этом информации


ViktorichZ

24.07.2009, 00:55

в секцию [mysqd] сколько у вас там сейчас стоит?


сейчас в my.cnf совсем нет значения max connections

# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K

просто прописать в конце значение max connections ?


почему попытался дописать в my.cnf max connections = 300, а мне ISPmanager выдал ошибку:

Ошибка: Unsupported encoding

как мне отредактировать этот файл?


почему попытался дописать в my.cnf max connections = 300, а мне ISPmanager выдал ошибку:

как мне отредактировать этот файл?

зайти по SSH и отредактировать


ViktorichZ

24.07.2009, 12:45

поищите в инете tuning-primer.sh запустите на сервер и следуйте рекомендациям….


получилось отредактировать my.cnf через SSH .)


Powered by vBulletin® Version 4.2.5 Copyright © 2023 vBulletin Solutions Inc. All rights reserved. Перевод: zCarot

Понравилась статья? Поделить с друзьями:
  • The binding of isaac repentance ошибка 0xc0000142
  • The error returned was no such file or directory
  • The binding of isaac repentance ошибка 0xc000007b
  • The error returned was mysql server has gone away error number 1
  • The binding of isaac repentance как изменить управление