Подтвердить что ты не робот

Получение ошибки MYSQL: "Код ошибки: 2006 - сервер MySQL ушел"

Я получаю следующую ошибку при попытке импортировать базу данных MYSQL:

Error Code: 2013 - Lost connection to MySQL server during queryQuery:
Error Code: 2006 - MySQL server has gone away

Может ли кто-нибудь сообщить мне, что не так?

4b9b3361

Ответ 1

Здесь вы можете узнать больше об этой ошибке и о различных способах ее избежать/решить.

Из документов:

Самая распространенная причина для сервера MySQL ушла, ошибка в том, что время ожидания сервера и закрытие соединения

Ответ 2

Исследование показывает, что многие решения правильно говорят о настройке max_allowed_packet и wait_timeout для mysql в my.cnf; небольшое добавление, что установка mysql по умолчанию для mac osx не включает этот файл. Сначала вам нужно создать его на /etc/my.cnf(это только проблема, если вы используете стандартную установку mysql вместо матового стека или аналогичного)

содержимое/etc/my.cnf, которое исправило эту проблему для меня ниже:

[mysqld]
max_allowed_packet= 64M
wait_timeout= 6000

Ответ 3

Попробуйте выполнить исправления, связанные с ошибкой 2006 года:

  • Сервер отключил время и закрыл соединение. Как исправить: проверьте, что переменная wait_timeout в файле конфигурации my.cnf mysqlds достаточно велика.

  • Сервер сбросил неправильный или слишком большой пакет. Если mysqld получает слишком большой или неправильный пакет, он предполагает, что что-то пошло не так с клиентом и закрывает соединение. Вы можете увеличить максимальный предел размера пакета, увеличив значение max_allowed_packet в файле my.cnf.

Ответ 4

Это часто случается, если ваш запрос INSERT является слишком большим одиночным оператором с несколькими строками.

Ответ 5

Попробуйте перезагрузить сервер mysql. Возможно, что сервер работает некорректно, но отображение идентификатора sql, которое также работает.

Ответ 6

есть много причин, по которым эта проблема происходит с вами, здесь вы можете найти все возможные причины, лично я боролся с размером пакета, но я обновил файл my.ini но прежде чем это сделать, я проверил переменную max_allowed_packet, которая дала мне 1048576B = 1 МБ и я обновился до 5 МБ. показать переменные, где переменная_имя типа "% пакет%"

выберите 1048576/1024/1024

выберите 5242880/1024/1024

Ответ 7

Я пробовал все решения и ничего не работал Я использую workbench для удаленного подключения hostgator
Я понял, что hostgator сервера mysql - это версия 5.5, а в моем рабочем месте настроена версия 5.6
когда я установил верстак в 5.5, он начал работать

edit/preferences/mysql/целевая версия по умолчанию
введите описание изображения здесь

Ответ 8

Показать переменные mySql

  • показать такие переменные, как 'max%'

  • установить глобальный max_allowed_packet = {PacketRANGE};//как это 10485760;

  • показать глобальные переменные типа 'max_all%';

Наслаждайтесь своим кодированием здесь

Ответ 9

AS, упомянутый Тудором в его реакции:

 The most common reason for the MySQL server has gone away error is that the 
 server timed out and closed the connection

Вам нужно изменить максимальное время выполнения и размер вы можете использовать следующие команды:

SET GLOBAL wait_timeout = 6000;
SET GLOBAL max_allowed_packet= 64M;

Они являются командами sql, поэтому вы можете выполнять их как команды норамала.

Ответ 10

В MySQL 5.7 эта ошибка может быть сгенерирована слишком большим пакетом связи:

Когда клиент MySQL или сервер mysqld получает пакет больше, чем max_allowed_packet, он выдает ошибку ER_NET_PACKET_TOO_LARGE и закрывает соединение. С некоторыми клиентами вы также можете получить потерянное соединение с сервером MySQL во время ошибки запроса, если пакет связи слишком велик.

Пакет в MySQL:

Коммуникационный пакет представляет собой единую инструкцию SQL, отправленную на сервер MySQL, одну строку, отправленную клиенту, или событие двоичного журнала, отправленное с главного сервера репликации на подчиненный.

Вы можете найти документ здесь: DOC
Вы должны попытаться установить max_allowed_packet на большее значение (значение по умолчанию - 4 МБ) для решения, если ваш SQL script больше этого размера. Вы можете установить это значение в файле параметров, поэтому вам не нужно каждый раз настраивать его.
В Microsoft Windows Vista и выше вы можете установить max_allowed_packet в файл
% PROGRAMDATA%\MySQL\MySQL Server 5.7\my.ini
или
% PROGRAMDATA%\MySQL\MySQL Server 5.7\my.cnf

где PROGRAMDATA = C:\ProgramData
Дополнительная информация (также для других S.O.) ЗДЕСЬ