powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / 2006 [MySQL server has gone away]
32 сообщений из 32, показаны все 2 страниц
2006 [MySQL server has gone away]
    #39095185
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сайт размещен на отдельном сервере mac mini
недавно перенесли сайт с одного сервера на другой, поновее с новой ОС OS X El Capitan,
mysql ставил из dmg образа с оф сайта mysql, правда вот под нужную ос еще нету dmg, скачивал под 10.10
Установил, все работало нормально, но потом обнаружились проблемы, периодически при подключении к базе стало выдавать ошибку "2006 mysql server has gone away" (сайт на PHP).
С какого-то момента они начинают сыпаться постоянно. Перезагрузка mysql помогает и сутки, иногда больше, работает все без проблем. Потом все повторяется...
Замечу, что другой сайт тоже перенес точно такой же переезд, и mysql ставил тот же, но при этом он работает без ошибок
Что сервер отключает соединением по таймауту - отклоняем, настройка стоит по умолчанию, т.е. 8 часов... Да и ошибке возникает при первом коннекте в скрипте зачастую.
Пробовал переустанавливать другие версии mysql (5.5, 5.6), но ошибка не пропадает...
в логе ошибок только записи типа:
IP address '5.39.222.253' could not be resolved: nodename nor servname provided, or not known
Непонятно, куда это mysql пытается обратиться...
Сам mysql сервер при этом работает, проверял Uptime - не сбрасывается в моменты ошибок.
Вроде пишут еще либо слишком большие данные либо неверные. Но когда дамп заливал, таких ошибок не выдавало + настройку mac_allowed_packet увеличил до 1Гб

Если все-таки неверный запрос, то как его вычислить
Или какие еще могут быть причины, куда копать?
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39095201
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g_andreyв логе ошибок только записи типа:
IP address '5.39.222.253' could not be resolved: nodename nor servname provided, or not known
Непонятно, куда это mysql пытается обратиться...
Интересно, кто тебе сказал, что это именно MySQL просит конвертировать адрес в имя? Сообщение в логах - ни разу не его...
А по поводу
g_andreyпериодически при подключении к базе стало выдавать ошибку "2006 mysql server has gone away"читать тут .
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39095202
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и смотреть лог медленных запросов.
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39095219
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g_andrey,

Как сделана сетевая часть инфраструктуры?
MySQL работает на одном компе с сайтом? Доступ извне к этому компу как осуществляется?
Есть подозрение, что у вас MySQL доступен для коннекта извне.

Если кроме сайта с MySQL работать никто больше не должен и сайт работает на этом же компе, то вообще выключите у MySQL работу с сетью. Оно так спокойнее будет.
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39095941
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторС какого-то момента они начинают сыпаться постоянно. Перезагрузка mysql помогает и сутки, иногда больше, работает все без проблем. Потом все повторяется...
такое было когда в приложении оставались не закрытые конекшины к базе, именно на сутки хватало.
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39100077
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Интересно, а чье же еще сообщение может быть в логах mysql ?
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39100081
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

и такую ошибку выдавал? вроде в таком случае должен был писать что-то типа "Too many connections"
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39100121
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g_andrey,
просто зависал.....
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39308059
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема все еще актуальна. Если кто может помочь за вознаграждение, прошу откликнуться.
также периодически выдает ошибку во время дампа базы. Пробовал ставить и percona-server из портов.
ошибки начинает выдавать, например, при возрастании нагрузки, если запустить нагрузочное тестирование с помощью утилиты siege на 50 соединениний - однозначно выдаст. При этом в процессах mysqld нагрузку на процессор создает 200-300-500%
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39308064
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗамечу, что другой сайт тоже перенес точно такой же переезд, и mysql ставил тот же, но при этом он работает без ошибокдавайте попробуем сравнить тот который работает нормально и этот "плохой" - версии MySQL PHP и т.д.
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39308130
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже бессмысленно... Забыл дополнить, что на нем теперь тоже стала проявляться эта ошибка... На нем нагрузка меньше на порядок, поэтому видимо не проявлялось до поры до времени
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39308253
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда включайте slow- general- логи и штудируйте
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39320817
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov,
Вы полагаете, что все таки дело в запросах.
Как тогда объяснить, что такая беда происходит во время дампа
т.е. запускаю mysqldump и во время его выполнения при попытке открыть страницу сайта выдает 2006, причем выдает ее не при каком-то запросе , а еще в момент коннекта (если же клиент mysql попытаться запустить в терминале то описание ошибки другое:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 102 )

Пока не могу 100% утверждать как отрабатывает бэкап, тестирую на резервном сервере, вроде пока создается полностью, на боевом точно было такое что и mysqldump вылетал , не доделав бэкап)

По поводу штудирования логов
По general - не совсем понятно, что искать... ну иногда, конечно, можно выявить зацикливания какие-нибудь , но тут такого нет... Есть, то что не нравится - к одной таблице пару десятков запросов аналогичных (select * from table where id=x) где id меняется, т.е. в скриптах можно заменить их одним запросом и потом разобрать резульатат в Php, но, врядли, это причина, работало так уже несколько лет и не вызывало проблем...

По медленным:
начала разбирать лог медленных запросов и убирать их вообще из скриптов, сначала вроде все шло неплохо, убрал правда десятка 3 запросов , после чего запускаю нагрузку и вроде сервер деражался, наверно больше получаса работал , хотя до этого при нагрузке выдавал ошибку уже в течение минуты
Потом я запустил еще одну копию siege в 50 потоков, в результате - ошибка. После чего запусал один экземпляр siege и все равно была ошибка...
На следующий день начал все заново, запустил нагрузку - в логах медленных запросов теперь новые запросы появились , убрал и их, снов запустил нагрузку - пока полет нормальный
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39320891
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
два часа , полет нормальный
только slow-log продолжает пополняться записями типа:
use...
SET timestamp ...
т.е. даже такие операции выполняются медленно...
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39320894
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39320910
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя нет, вот ошибки посыпались, возможно и ранее проскакивали, разрешения на файл в котором метка ставится о том что была ошибка сбились, в итоге не видно если проскакивала , пока не посыпались кучей
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39320917
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g_andreyв логе ошибок только записи типа:
IP address '5.39.222.253' could not be resolved: nodename nor servname provided, or not known
Давай начнём поиск источника обнаруженной ошибки (хотя не факт, что это основа, а не следствие более ранней ошибки). А в качестве первого шага попробуй уйти от разрешения адреса в имя через DNS, внеся соотв. запись в HOSTS.
g_andreyчье же еще сообщение может быть в логах mysql ?Если верить поверхностному просмотру результатов поиска, то эта проблема собственно с доступом к MySQL в линуксах и плотно связана с наличием SSH.
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39320923
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaА в качестве первого шага попробуй уйти от разрешения адреса в имя через DNS, внеся соотв. запись в HOSTS.А почему не через skip-name-resolve ?
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39320935
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftпочему не через skip-name-resolve ?
Да потому что
g_andreyпотом обнаружились проблемы, периодически при подключении к базе стало выдавать ошибку "2006 mysql server has gone away" (сайт на PHP).
И не вижу никаких оснований считать, что проблема внутри MySQL, ибо ошибка-то вроде как снаружи.
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39321815
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinag_andreyв логе ошибок только записи типа:
IP address '5.39.222.253' could not be resolved: nodename nor servname provided, or not known
Давай начнём поиск источника обнаруженной ошибки (хотя не факт, что это основа, а не следствие более ранней ошибки). А в качестве первого шага попробуй уйти от разрешения адреса в имя через DNS, внеся соотв. запись в HOSTS.
g_andreyчье же еще сообщение может быть в логах mysql ?Если верить поверхностному просмотру результатов поиска, то эта проблема собственно с доступом к MySQL в линуксах и плотно связана с наличием SSH.

Сейчас за это цепляться думаю уже не стоит, таких ошибок пока нет может из-за того, что включены опции skip-networking
, skip_name_resolve - но отключил, пока тоже не появилось

Включил логирование не только ошибок но предупреждений
В итоге в логе вылезли следующие сообщения
[Warning] File Descriptor 1043 exceedeed FD_SETSIZE=1024
Через поиск вышел на статью
https://ellislab.com/blog/entry/mysql-5.7-server-os-x-has-gone-away

Здесь достаточно правдоподобно описано почему так происходит, примерно так: в случае OS X в системной функции, которую использует Mysql для проверки существования соединения есть баг - не отлавливается событие закрытия соединения, т.е. php закрывает соединение , а mysql этого не понимает и считает его открытым
В итоге когда число открытых соединений превышает 1024 ( системное ограничение а не mysql ) то вылетает эта ошибка...
как решение предлагается уменьшить
wait_timeout
interactive_timeout
чтобы сервер закрывал такие соединения
По ощущениям, по поведению сервера - это очень похоже на правду. НО не спасает уменьшение этих параметров....
К тому же, по логике когда появляется эта ошибка, число открытых соединений должно превышать 1024
А как проверяются открытые соединения - наверно, show processlist - выполняю ее непрерывно пока идет тестирование - в результате кол-во процессов не превышает 50 (число создаваемых siege соединений ), т.е. и близко не 1024, и как только siege завершает работу в течение нескольких секунд все эти процессы исчезают
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39322562
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
g_andrey,

авторtable_cache старое название для переменной table_open_cache, в нем указывается количество открытых таблиц для всех демонов. Увеличение значения приведет к увеличению количества используемых дескрипторов файла. Советуют рассчитывать по формуле: количество одновременных соединений * количество открытых таблиц в соединении. Т.е. для каждого соединения используется свои ячейки из кэша. Для проверки можно запустить mysqltuner.pl

А вот дескрипторы, о которых здесь речь идет - это не могут быть те, число которых у меня превышено ? т.е. если кол-во соединений надо умножить на кол-во открытых таблиц, то вполне может быть что их будет больше 1024
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39322998
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g_andreyэто не могут быть те, число которых у меня превышено ?
Легко.
В OSX может возникнуть любая произвольная фигня, которую долгие годы никто не починит.
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39323608
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну в принципе, про дескрипторы - есть что то похожее на правду:
если выполнять flush tables когда начинает выдавать ошибку то ошибку некоторое время не выскакивает
но с каждым разом запрос "flush tables" выполняется все медленнее и медленнее, при чем медленность выполнения относится не только к запросам mysql, время открывания папок по sftp также увеличивается, через некоторое время по vnc становится уже невозможно зайти
а если выполнить рестарт Mysql то "медляки" пропадают, то есть помимо дескрипторов как будто накапливается что-то еще
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324303
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во вложении скрин - вот такая картина - mysql под 300% нагрузки на цп
Ну не ужели не хватает ресурсов, нагрузка средненькая , где-то 3500 посетителей в сутки, 7-8 тыс страниц...
сервер с процессором i7 2.3Ггц, 16гб оперативки, ssd диск..

пытался уже все подряд в memcached пихать - но и то в итоге были провалы при коннекте к Memcache - полсекунды на это уходило...
Может дело и не в Mysql... может опять же это не причина, а следствие, в результате общей нагрузки и mysql не справляется и оттого у него нагрузка 300%... Но с другой стороны, удавалось удерживать ее на уровне, но при этом, отключив, наверное, половину запросов, на другом сервере, послабее
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324307
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите куда копать дальше
mysqltuner прогонял - выставлял параметры рекомендуемые - улучшений нет, иногда даже казалось, что еще хуже становится...
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324312
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Среднее количество запросов - 500 / секунду
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324322
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот еще файлы
результат вывода mysqladmin processlist
результат вывода mysqladmin extended-status
это в ту минуту когда начинает сыпаться 2006 ошибка
после часов 9 работы в ночное время, т.е. с пониженной нагрузкой
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324323
g_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324377
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Slow log-е вижу массу команд вида SET timestamp=1273826821;
Насчет этого нашел любопытную ссылочку:
http://stackoverflow.com/questions/2832912/how-can-set-timestamp-be-a-slow-query
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324394
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftВ Slow log-е вижу массу команд вида SET timestamp=1273826821;

Так они всегда там и были. Это не является значимой проблемой. Программы для анализа их пропускают.
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324400
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindmiksoftВ Slow log-е вижу массу команд вида SET timestamp=1273826821;

Так они всегда там и были. Это не является значимой проблемой. Программы для анализа их пропускают.А почему у них время 1-2 секунды?
...
Рейтинг: 0 / 0
2006 [MySQL server has gone away]
    #39324409
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, так это время для последующей команды. set timestamp - искусственная запись для воспроизведения ситуации. запроса такого нет.
Но вот в нормальном логе обычно не присутствует :
# administrator command: Quit;
Что-то там происходит не то.

автор# Query_time: 1.426004 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 3
SET timestamp=1475650903;
# administrator command: Quit;


Что в очередной раз подтверждает, что использовать что-то отличное от основных платформ разработчиков (linux или windows) - себе дороже.
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / MySQL [игнор отключен] [закрыт для гостей] / 2006 [MySQL server has gone away]
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]