MySQL Workbench: как сохранить соединение живым


160

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

Я использую MySQL Workbench. Кроме того, я запускаю пакет вставок, всего около 1000 строк (например, INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4умноженный 1000 раз). Каждая партия занимает значительное время, некоторые из них, более 600 секунд.

Как я могу настроить верстак, чтобы продолжать работать всю ночь, не останавливаясь и не теряя соединение?

Ответы:


344

Из недоступного в настоящее время интернет-архива:

Перейдите в «Правка» -> «Настройки» -> «Редактор SQL» и установите для этого параметра более высокое значение: время чтения соединения с СУБД (в секундах). Например: 86400.

Закройте и снова откройте MySQL Workbench. Убейте ваш предыдущий запрос, который, вероятно, выполняется, и запустите его снова.


5
Существует ошибка во всех версиях MySQL Workbench, кроме 6.0.x в Mac OS: stackoverflow.com/a/37890150/1014813
lepix

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

@lepix Исправлена ​​ли эта ошибка?
posfan12

2
Перезапуск редактора необходим, чтобы это вступило в силу после изменения значений.
Филипп Огенеробо Балогун

46

Если вы используете тип соединения «Стандартный TCP / IP через SSH», в «Предпочтения» -> «Другие» есть поле «SSH KeepAlive». Мне понадобилось много времени, чтобы найти его :(


Почему ты повторяешь ответ?
Ян Догген

19
@JanDoggen Я не вижу другого ответа, который указывает, где в MySQL Workbench вы можете изменить «SSH KeepAlive», который по умолчанию 0 => отключен. Я вижу только ответ, который предлагает изменить настройки сервера ssh ...
Любитель

Спасибо за указание на это, так как этот параметр переопределяет файлы конфигурации клиента ~ / .ssh / config и / etc / ssh / ssh_config. Это абсолютно необходимо для мобильного широкополосного доступа.
Родни

Не могли бы вы добавить пример значения для использования в вашем ответе? Вы рекомендуете что-то вроде 1800секунд?
AL

1
@AL это зависит от вашего контекста. В моем случае срок действия SSH-соединения истекал через 3 минуты (180 секунд), поэтому я установил для SSH KeepAlive значение 30 секунд.
Любитель

15

В 5.2.47 (по крайней мере, на Mac), перейдите в расположение предпочтений: MySQLWorkbench-> Preferences-> SQL Editor

Тогда вы увидите оба:

Интервал поддержания соединения с СУБД (в секундах): время считывания соединения с СУБД (в секундах):

В последнем случае вы захотите увеличить лимит с 600 до чего-то большего.


Я установил тайм-аут чтения подключения к СУБД на 86400 секунд, после примерно 7200 секунд выполнения какого-либо запроса я все еще получаю ошибку 2013. Кто-нибудь знает что-нибудь об этом?
IndexOutOfDevelopersException

12

В моем случае после попытки установить тайм-аут SSH в командной строке и в настройках локального сервера. Решение @Ljubitel решило проблему со мной.

Следует обратить внимание на то, что в Workbench 6.2 настройка теперь находится в расширенном режиме.

введите описание изображения здесь


2
В 6.3 Advanced был переименован в Others.
Ричард

2

Если вы используете тип соединения «Стандартный TCP / IP через SSH», это может быть ssh-сервер, который задерживает тайм-аут, в этом случае вам придется отредактировать настройки, связанные с TCPKeepAlive, в / etc / ssh / sshd_config на вашем сервере. ,


2

Я получал эту ошибку 2013 года, и ни одно из вышеперечисленных изменений предпочтений не помогло решить проблему. Я перезапустил службу MySQL, и проблема ушла.


2

Итак, эта проблема сводит меня с ума - v 6.3.6 на Ubuntu Linux. Ни одно из вышеперечисленных решений не помогло мне. Подключение к локальному серверу MySQL ранее всегда работало нормально. Время подключения к удаленному серверу всегда истекло - примерно через 60 секунд, иногда через меньшее время, иногда больше.

В конечном итоге у меня получилось обновить Workbench до 6.3.9 - больше не было разорванных соединений.


1

У меня была похожая проблема, когда CREATE FULLTEXTтайм-аут через 30 секунд:

ошибка

Установка интервала ожидания чтения подключения к СУБД на 0 в меню «Правка» -> «Настройки» -> «Редактор SQL» исправила проблему для меня:

исправить ошибку

Кроме того, мне не пришлось перезапускать MySQL Workbench, чтобы это работало.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.