Ошибка: Error 2013: Lost connection to MySQL server во время создания дампа через mysqldump
Столкнулся с тем, что при создании дампа большой базы получил ошибку Lost connection to MySQL server. Соответственно, дамп получился частичный и был не пригоден к использованию. В большинстве случаев избавиться от такой ошибки можно изменив параметры..
- net_read_timeout - Количество секунд ожидания для получения дополнительных данных из соединения перед прекращением чтения. Когда сервер читает с клиента, net_read_timeout - это значение тайм-аута, определяющее, когда прерывать работу.
- net_write_timeout - Количество секунд ожидания записи блока в соединение перед прерыванием записи. Когда сервер пишет клиенту, net_write_timeout - это значение времени ожидания, определяющее, когда следует прервать операцию.
Прежде всего смотрим какие значения используются сейчас, сделать это можно таким запросом
1 2 3 4 5 6 7 8 9 10 11 12 |
mysql> show global variables like '%timeout'; +-----------------------------+----------+ | Variable_name | Value | +-----------------------------+----------+ | connect_timeout | 10 | | net_read_timeout | 30 | <<<<<<< | net_write_timeout | 60 | <<<<<<< | slave_net_timeout | 3600 | | wait_timeout | 3800 | +-----------------------------+----------+ |
Как видим значение по-умолчанию 30 и 60 секунд. Меняем их на значения больше
1 2 3 4 |
set global net_read_timeout = 300; set global net_write_timeout = 900; |
Далее проверяем помогло или нет пробуя создать дамп. Если помогло, то не забудьте вернуть эти значения обратно к тем, что были установлены
1 2 3 4 |
set global net_read_timeout = 30; set global net_write_timeout = 60; |
Если не помогло, то другой распространненой причиной падения с этой ошибкой являются поврежденные innnodb таблицы. Попробуйте установить опцию
1 2 3 |
innodb_force_recovery = 1 |
в конфигурационном файле MySQL (my.cnf или аналоги) и перезапустить ее
1 2 3 |
systemctl restart mysql |
Author: | Tags: /
| Rating:
Leave a Reply