it-roy-ru.com

Ошибка MySQL 2006 (HY000) в строке 406: сервер MySQL удален

У меня есть дамп 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 МБ.

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

19
David

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

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

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

47
Pauli Price

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

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

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

6
Sire

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 

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

0
Amit Vujic