Ошибка MySQL 2006 (HY000) в строке 406: сервер MySQL ушел
У меня есть дамп MYSQL из базы данных, которую я пытаюсь переместить на новый сервер db. Когда я пытаюсь импортировать дамп sql, я получаю следующую ошибку:
MySQL Error 2006 (HY000) at line 406: MySQL server has gone away
Я искал проблему, и большинство людей исправили проблему, изменив значение wait_timeout. Однако мое текущее значение установлено на 28800 (8 часов), и ошибка появляется менее чем за 8 секунд при запуске импорта.
Я также попытался установить значение max_allowed_packet на 1073741824, но это также не устранило проблему.
Просматривая дамп mysql, в дампе имеется довольно много столбцов blob, но общий размер файла составляет всего 6 МБ.
Есть ли у кого-нибудь идеи о том, что еще может быть проблемой?
Ответы
Ответ 1
Добавление этого ответа для будущих поисковиков, поскольку это объясняет, почему увеличение размера пакета устраняет проблему:
Ситуация такова, что если клиент отправляет SQL-оператор дольше, чем параметр max_allowed_packet сервера, сервер просто отключит клиента. Следующий запрос от одного и того же экземпляра клиента обнаружит, что "сервер MySQL ушел.
... Но, конечно, было бы гораздо предпочтительнее иметь" полученную большую ошибку пакета [Ошибка: 2020 (CR_NET_PACKET_TOO_LARGE)], если это проблема.
Выдержка из и спасибо за сообщение в блоге peter_laursen
В OSX 10.7 (Lion) я создал файл /etc/my.cnf со следующим содержимым:
[mysqld]
max_allowed_packet = 12000000
И затем остановил сервер mysql:
/usr/local/bin/mysql.server stop
Когда он автоматически перезагрузился, я смог выполнить свои вставки.
Ответ 2
Увеличение max_allowed_packet до 12 МБ (12000000) решило проблему для меня при попытке импортировать файл размером 130 МБ.
Измените файл ini или в разделе Файл/Сеть параметров в MySQL Workbench (требуется перезагрузка MySQL).
Если вы все еще получаете ошибку, попробуйте увеличить ее (100 МБ). Просто не забудьте уменьшить его, когда закончите.
Ответ 3
1) Изменение конфигурационного файла MySql: # /etc/mysql/my.cnf
#section
#
[mysqld]
#
key_buffer = 32M
max_allowed_packet = 32M
thread_stack = 512K
thread_cache_size = 64
#
2) Перезапуск mysql deamon
/etc/init.d/mysql restart
Должны решить ваши проблемы.