Код ошибки: 2013. Потеря соединения с сервером MySQL во время запроса

Я получилError Code: 2013. Lost connection to MySQL server during query ошибка при попытке добавить индекс в таблицу с использованием MySQL Workbench. Я также заметил, что это появляется всякий раз, когда я запускаю длинный запрос.

Можно ли увеличить значение тайм-аута?

Ответы на вопрос(26)

Preferences-> SQL editor-> MySQL session

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

[mysqld]
max_allowed_packet=16M

По умолчанию это будет 1M (максимально допустимое значение - 1024M). Если указанное значение не кратно 1024K, оно будет автоматически округлено до ближайшего кратного 1024K.

Пока упомянутый поток связан с ошибкой MySQL 2006, установивmax_allowed_packet от 1М до 16Мсдела исправить ошибку 2013 года, которая появилась у меня при выполнении длинного запроса.

Для пользователей WAMP: вы найдете флаг в[wampmysqld] раздел

 hakre26 февр. 2016 г., 10:34
16M, несколько раз получал эту ошибку при импорте файла, менял на 32M и потом работал.
 zAlbee27 окт. 2014 г., 18:36
Это была моя проблема. Я импортировал резервную копию базы данных из файла, и MySQL Workbench сообщал об этой ошибке 2013 года, за которой следовало «Операция завершилась неудачно с кодом выхода 1». Получается, что в резервной копии были большие столбцы больших двоичных объектов, превышающие размер по умолчанию для maxSQL max_allowed_packet 4M. Увеличение это исправило это. (MySQL 5.6 и Workbench 6.2.3). Благодарность
 smoore412 июн. 2015 г., 13:49
Для меня это тоже было исправлением. Хотя я установил его на 256M для машины с Windows.

net_read_timeout / wait_timeout и подходящее значение (в секундах) - например:--net_read_timeout=100.

Для справки смотритеВо а такжеВо.

 Vikas Goel06 нояб. 2015 г., 20:08
Как мне указать этот параметр в командной строке? Когда я пытаюсь подключиться к БД: mysql -u root -p --net_read_timeout = 60 или когда я пытаюсь запустить службу? sudo service mysql start? В обоих местах выдает ошибку: неизвестная переменная 'net_read_timeout'
 Sambit Tripathy28 авг. 2014 г., 09:29
Это правильно, но на самом деле мне помог ответ с большим количеством взлетов

потому что мой innodb_buffer_pool_size был установлен больше размера оперативной памяти, доступной на сервере. Вещи были прерваны из-за этого, и это выдает эту ошибку. Исправление состоит в том, чтобы обновить my.cnf с правильной настройкой для innodb_buffer_pool_size.

л файл в .sql.

Используя приведенную ниже команду, мне удается обойти эту проблему.

mysql -u <user> -p -D <DB name> < file.sql

Надеюсь, это поможет.

Решение Вопроса

аймауты.

Для меня это было в разделе Правка → Настройки → Редактор SQL → Время ожидания соединения с СУБД (в секундах): 600

Изменил значение до 6000.

Также непроверенные строки ограничения, поскольку установка предела при каждом поиске по всему набору данных становится утомительной.

 Franck Dernoncourt18 июн. 2013 г., 05:46
Следующие Stackoverflow.com / д / 16877574/395857, эта проблема теперь решена Bugs.mysql.com / bug.php? ID = 69395)
 Franck Dernoncourt01 июн. 2013 г., 23:30
Можно ли увеличить этот лимит за 99 999 секунд?DBMS connection read time out field принимает только до 5 цифр, а установка поля в 0 эквивалентна параметру по умолчанию (600 секунд). (Windows 7 64-bit Ultimate, MySQL Workbench 5.2.47 CE)
 Jon02 мар. 2014 г., 17:32
uncheck ограничить количество строк в меню «Правка» → «Настройки» → «SQL-запросы
 Davicus23 мая 2014 г., 21:09
После перезапуска снова отображается ошибка 2013, даже если время чтения установлено на 6000, поэтому это не похоже на решение.
 pimbrouwers25 июн. 2017 г., 17:35
Не забудьте перезапустить Workbench и закрыть все открытые окна запросов!
SET @@local.net_read_timeout=360;

при удаленном подключении не будет работать следующее:

SET @@global.net_read_timeout=360;

innodb_buffer_pool_size = 64M

пример

key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
innodb_buffer_pool_size = 64M
 Al Bundy05 сент. 2018 г., 13:32
Ты уверен, что имя файла/etc/mysql/cnf правильно? Разве это не должно быть/etc/my.cnf?

но на Mac

1. Control-click your connection and choose Connection Properties.
2. Under Advanced tab, set the Socket Timeout (sec) to a larger value.

Обычно это указывает на проблему с сетевым подключением, и вам следует проверять состояние вашей сети, если эта ошибка возникает часто Иногда форма «во время запроса» возникает, когда миллионы строк отправляются как часть одного или нескольких запросов. Более редко, это может произойти, когда клиент пытается установить исходное соединение с сервером

Для более подробной информацииread >>

Причина 2:

SET GLOBAL interactive_timeout=60;

по умолчанию от 30 до 60 секунд или дольше

Причина 3:

SET GLOBAL connect_timeout=60;

а» → «Настройки» → «SQL-запросы

because Вы должны установить свойства 'interactive_timeout' и 'wait_timeout' в файле конфигурации mysql на нужные вам значения.

файла дампа и можете исключить проблему, связанную с сетью (например, выполнением на локальном хосте), моё решение может быть полезным.

Мой mysqldump содержал по крайней мере один INSERT, который был слишком большим для mysql, чтобы вычислить. Вы можете просмотреть эту переменную, набравshow variables like "net_buffer_length"; внутри твоего mysql-cli. У вас есть три возможности:

increase net_buffer_length внутри mysql -> для этого потребуется перезагрузка сервера создать дамп с помощью--skip-extended-insert, для каждой вставки используется одна строка -> хотя эти дампы намного приятнее читать, это не подходит для больших дампов> 1 ГБ, потому что это имеет тенденцию быть очень медленным создать дамп с расширенными вставками (который используется по умолчанию), но ограничить длину net-buffer_length, например, с--net-buffer_length NR_OF_BYTES где NR_OF_BYTES меньше, чем net_buffer_length сервера -> я думаю, что это лучшее решение, хотя более медленный перезапуск сервера не требуется.

Я использовал следующую команду mysqldump:mysqldump --skip-comments --set-charset --default-character-set=utf8 --single-transaction --net-buffer_length 4096 DBX > dumpfile

проверьте системный журнал (/ var / log / syslog или аналогичный), чтобы убедиться, что во время запроса серверу не хватает памяти.

Была эта проблема, когда innodb_buffer_pool_size был установлен слишком близко к физической памяти без настроенного файла подкачки.MySQL рекомендует для параметра сервера для базы данных параметр innodb_buffer_pool_size с максимальным объемом около 80% физической памяти, У меня было установлено около 90%, ядро убивало процесс mysql. Перемещение innodb_buffer_pool_size обратно на 80%, и это решило проблему.

что это происходит, когда у вас есть внешние ключи для больших таблиц (что занимает много времени).

Я попытался снова запустить оператор create table без объявлений внешнего ключа и обнаружил, что он работает.

Затем после создания таблицы я добавил ограничения внешнего ключа с помощью запроса ALTER TABLE.

Надеюсь, это кому-нибудь поможет.

который создавал много строк в таблицу в базе данных. Я мог видеть, что ошибка появилась сразу после того, как время пересекло 30-секундную границу.

Я попробовал все предложения в других ответах. Я уверен, что кое-что помогло, однако, что действительно заставило это работать для меня, переключилось на SequelPro от Workbench.

Я предполагаю, что это была какая-то связь со стороны клиента, которую я не смог обнаружить в Workbench. Может быть, это поможет кому-то еще?

interactive_timeout' и 'wait_timeout' в файле конфигурации mysql на нужные вам значения.

 CobraBJ06 янв. 2015 г., 04:51
Это мне помогает. Значение «interactive_timeout» в my.cnf было установлено на 100, это слишком мало. после того, как я изменил его на 3600 с (или любое другое значение, достаточно большое для вас), проблема решена. Thx

Max_allowed_packet

Net_write_timeout

Net_read_timeout

mysql doc

которое перестроит механизм innoDB вместе с перестроением многих таблиц, необходимых для правильного функционирования MySQL, таких какperformance_schema, information_schema, так далее

Введите команду ниже из вашей оболочки:

sudo mysql_upgrade -u root -p
 Jubz29 нояб. 2016 г., 18:40
Это исправило мою проблему. Я только что использовал Ansible, чтобы настроить базу данных поверх существующей, и все пошло наперекосяк. Выполнение этой команды восстановило все в рабочем состоянии.
 Davicus23 мая 2014 г., 21:10
Ошибка не появлялась до MySQL Workbench 6.1.4 (и только через некоторое время), а также возникает на 6.1.6 (хотя и только после нескольких использований), поэтому я не уверен, что восстановление нескольких серверов является исправлением для проблемы, которая только недавно появилась на одном графическом интерфейсе.

«Настройки» → «Редактор SQL» → Время ожидания соединений СУБД: до 3000. Ошибка больше не возникает.

со слишком строгими разрешениями. Я должен был позволитьExecute способность наmysql стол. После того, как я допустил, что у меня больше не было разрывов соединени

Edit -> Настройки -> Редактор SQL

Здесь вы можете увидеть три поля в группе «MySQL Session», где вы можете теперь установить новые интервалы подключения (в секундах).

блокировавшее мое соединение с MYSQL. После отмены политики брандмауэра, чтобы разрешить соединение, я смог успешно импортировать схему.

Проверьте, если Индексы на первом месте.

SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = '<schema>'

проверить о

OOM on /var/log/messages ,
modify innodb_buffer_pool_size value ; when load data , use 50% of os mem ; 

Надеюсь это поможе

что у вас есть «несовместимости с текущей версией MySQL Server», см. Mysql_upgrade. Я столкнулся с той же самой проблемой и просто должен был бежать:

mysql_upgrade --password В документации говорится, что «mysql_upgrade должен выполняться при каждом обновлении MySQL».

вы можете попробовать использовать индексирование, добавив индекс в ваши таблицы, чтобы добавить индекс, щелкните по символу гаечного ключа (гаечного ключа) на таблице, это должно открыть настройки для таблицы, ниже щелкните представление индекса, введите имя индекса и укажите тип индекса. В столбцах индекса выберите основной столбец в таблице.

Сделайте тот же шаг для других первичных ключей в других таблицах.

Ваш ответ на вопрос