Comments 8
Lost connection to MySQL server during query
Обычно ошибка выдается, если запрос превышает значение указанное в max_allowed_packet (значение по умолчанию 1 МБ), так что достаточно подправить конфиг mysql, тем более что в большинстве случаев этот параметр у хостера будет больше значения по умолчанию.
Всегда восстанавливайте дампы так:
Из под мускульного рута.
Много граблей обойдете.
mysql> use database;
mysql> source /tmp/dump.sql;
Из под мускульного рута.
Много граблей обойдете.
В данном случае не поможет, так как консольный mysql это такой же клиент, как и остальные. И если он отправит длинный insert не проходящий max_allowed_packet — то сервак его точно также «отошьёт» с ошибкой.
Проблема в том, что «Lost connection to MySQL server during query» не всегда связано с max_allowed_packet =)
Я наразвлекался с 80 гиговым дампом в своё время — его через cat | mysql восстановить вообще никак не получалось (лучшее, чего удалось добиться — это «Lost connection to MySQL server during query» через 36 часов работы/40 залитых гигов), а потом через source удалось залить его целиком за всего лишь 5 часов.
Менять дамп sed-ом/perl-ом такого размера, само собой, весьма накладно было.
Например, в дампе может быть строка, которая физически не успевает попасть через пайп (а он весьма медленный) в различные таймауты и угадывать на большом дампе, в какой таймаут ты не попал, накладно. Ну и банально читать файл с диска быстрее, чем читать STDIN. Всегда.
Я наразвлекался с 80 гиговым дампом в своё время — его через cat | mysql восстановить вообще никак не получалось (лучшее, чего удалось добиться — это «Lost connection to MySQL server during query» через 36 часов работы/40 залитых гигов), а потом через source удалось залить его целиком за всего лишь 5 часов.
Менять дамп sed-ом/perl-ом такого размера, само собой, весьма накладно было.
Например, в дампе может быть строка, которая физически не успевает попасть через пайп (а он весьма медленный) в различные таймауты и угадывать на большом дампе, в какой таймаут ты не попал, накладно. Ну и банально читать файл с диска быстрее, чем читать STDIN. Всегда.
Тоже спасибо.
Sign up to leave a comment.
Чиним MySQL-дамп (меньше чем за 30 строк)