MySQLi :: real_connect (): (08004/1040): Слишком много соединений, MySql 操作 缓慢: копирование в TMP таблицы

фон

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

Журнал ошибок MySQL

Первый раз столкнулся с такой проблемой, это неизбежно чувство беспомощной, примерно после направления исследования:

Посмотрите онлайн-процесс, см операции SQL, см длинного хода, см SQL состояния.

поиск неисправностей

Направление 1: Было предложено: max_connections Это значение может быть изменено на большее временно решить некоторые проблемы , в первую очередь. На самом деле, здесь есть серьезная ошибка, подсчитано , что большое изменение не имеет особого смысла, в основном , чтобы найти проблему процесса SQL.

Направление 2: Выполнение команды SHOW PROCESSLIST

Примечания: показать PROCESSLIST является нить пользователя, следует отметить, что, в дополнении к корневому пользователю может видеть все потоки, работающие снаружи, другие пользователи могут видеть только свои собственные потоки выполняющимися, не могут видеть другие пользователи бегущего нить. Это само по себе, если пользователь дает разрешение ПРОЦЕССУ.

3 направления: исполнительское показать переменные, такие как «% таймаут%» команды

Просмотр тайм-аут, или заблокирован состояние. Он пришел к выводу: использовать большое количество, но не заперта.

Направление 4: Выполнение шоу двигатель InnoDB команды состояния

Это шоу двигатель InnoDB показывает статус , сколько информации о том , что состояние системы, если вы не знаете , как Посмотрите на этот блог

Sql было установлено, что TMP таблицы копирования, подключите их число растет, буфер бассейна уже занято более.

Выполнение шоу PROCESSLIST снова для просмотра текущего процесса SQL, в частности тщательного анализа дела

И, наконец, нашел истинный виновник, это SQL была выполнена, и копирования во временную таблицу для TMP таблицы, найти этот SQL будет знать, что такой бизнес, оригинал «ненормальный сервис уведомлений» задачи времени, за временными остановить этот бизнес, чтобы восстановить доступ к сайту, а затем делать бизнес, посвященный оптимизации ситуации.

 

Заключенный

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

Основные шаги:
в основном осуществляется шоу PROCESSLIST см нить все рабочие столы 
найденную в состоянии государственной копии TMP таблицы, потому что это временный набор результат больше , чем tmp_table_size, временные таблицы хранятся в памяти от дисковой памяти для того , чтобы сохранить память

Решение:

Временно остановили службы SQL, аварийный оптимизировать SQL. Другие методы оптимизации MySQL Смотрите этот блог: https://blog.csdn.net/u012104435/article/details/50915604

Отражение:

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

 

Опубликовано 285 оригинальные статьи · вона похвала 258 · Просмотров 1,21 млн +

рекомендация

отblog.csdn.net/meimeieee/article/details/105189429