Ошибка MySQL 2006 (HY000) в строке 406: сервер MySQL удален - PullRequest
19 голосов
/ 05 января 2012

У меня есть дамп MYSQL из базы данных, который я пытаюсь переместить на новый сервер БД.Когда я пытаюсь импортировать свой дамп sql, я получаю следующую ошибку:

MySQL Error 2006 (HY000) at line 406: MySQL server has gone away

Я погуглил проблему, и большинство людей решило проблему, изменив значение wait_timeout.Тем не менее, мое текущее значение установлено на 28800 (8 часов), и ошибка появляется менее чем через 8 секунд, когда я запускаю импорт.

Я также попытался установить значение max_allowed_packet равным 1073741824, но это также не помогло исправитьпроблема.

Просматривая дамп mysql, в нем содержится довольно много столбцов больших двоичных объектов, но общий размер файла составляет всего 6 МБ.

Есть ли у кого-нибудь какие-либо идеи о том, что ещеможет быть проблема?

Ответы [ 3 ]

47 голосов
/ 23 мая 2012

Добавление этого ответа для будущих пользователей, поскольку оно объясняет, почему увеличение размера пакета устранило проблему:

Ситуация такова, что если клиент отправляет 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

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

6 голосов
/ 16 апреля 2012

Увеличение max_allowed_packet до 12 МБ (12000000) решило проблему при попытке импортировать файл размером 130 МБ.

Измените INI-файл или выберите Файл параметров / Сеть в MySQL Workbench (требуется перезапуск MySQL).

Если вы все еще получаете ошибку, попробуйте увеличить еще (100 МБ). Просто не забудьте уменьшить его, когда вы закончите.

0 голосов
/ 21 июня 2017

1) Изменение в конфигурационном файле MySql: # /etc/mysql/my.cnf

#section 
#
[mysqld]
#
key_buffer              = 32M
max_allowed_packet      = 32M
thread_stack            = 512K
thread_cache_size       = 64
#

2) Перезапуск MySql *

/etc/init.d/mysql restart 

Должен решить ваши проблемы.

...