Не удается сдампить большие таблицы

Что-то не работает? Пишите здесь.

Не удается сдампить большие таблицы

UNREAD_POST Varyen » 11.11.2009 20:49:20

Привет. Во-первых, спасибо, что развиваете дампер, и что поставили такую либеральную лицензию для последней версии. :)

Суть вот в чем - я пробую сдампить большую таблицу (300 мегабайт, посты форума). После перезапуска по таймауту (кстати, если нажать кнопку "пауза" - будет то же самое) эта же таблица начинается дампиться с первой строчки. Причем это не только визуальный эффект - во временный файл действительно пишутся повторные строки.
Вообще этого эффекта можно достичь на любой более-менее большой таблице, просто поставить время исполнения в PHP порядка 3-5 секунд.

Выглядит это так (для наглядности поставил лимит 10 секунд):
Экспорт таблицы `sibf_posts`
2009.11.11 20:36:57 Выполнение остановлено по таймеру
Экспорт таблицы `sibf_posts` с позиции 43101
2009.11.11 20:37:06 Выполнение остановлено по таймеру
Экспорт таблицы `sibf_posts` с позиции 24454
2009.11.11 20:37:15 Выполнение остановлено по таймеру
Экспорт таблицы `sibf_posts` с позиции 19813

MySQL версии 5.1.40. Разумеется, все права на файлы и папки расставлены как нужно.

Создалось впечателение, что это что-ли "недописано". На паузе смотрел job.php, .stp файл - нигде упоминания о том, на какой строке остановились, нет. В коде не разобрался с первого взгляда. :)
Varyen
 
Сообщения: 6
Зарегистрирован: 11.11.2009 20:34:53

Re: Не удается сдампить большие таблицы

UNREAD_POST zapimir » 11.11.2009 22:50:16

Текущая позиция постоянно пишется в .rtl файл. Вы используете 2.0.3 версию?
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Не удается сдампить большие таблицы

UNREAD_POST Varyen » 12.11.2009 10:29:59

Да, версия последняя.
Вот что пишется в .rtl


1258010865 4258010865 656383 26472325 TA sibf_posts 19834 656383 2 56605 1258010852.8366

1258010910 4258010910 656383 31628049 TA sibf_posts 12117 656383 2 68722 1258010852.8366

1258010943 4258010943 656383 49681738 TA sibf_posts 39406 656383 2 108128 1258010852.8366

1258010975 4258010975 656383 99254584 TA sibf_posts 25194 656383 2 193861 1258010852.8366
Varyen
 
Сообщения: 6
Зарегистрирован: 11.11.2009 20:34:53

Re: Не удается сдампить большие таблицы

UNREAD_POST Varyen » 12.11.2009 16:50:09

Кажется я нашел проблему. index.php, строка 797

Код: Выделить всё
$this->rtl[7] = 0;


Эта переменная отвечает за текущую позицию, каждый раз она обнуляется. :)
Всё сдампилось, проверил файл дампа - вроде ничего не потерялось.

Кстати, по поводу строки 549
Код: Выделить всё
//mysql_query("LOCK TABLES `{$tab}` WRITE") or die (mysql_error());


Я бы на вашем месте все же лочил таблицы на запись перед тем, как ресторить БД. Перед тем как бекапить, кстати, тоже. Причем желательно все сразу, иначе может быть рассинхронизация в разных таблицах.
Varyen
 
Сообщения: 6
Зарегистрирован: 11.11.2009 20:34:53

Re: Не удается сдампить большие таблицы

UNREAD_POST zapimir » 12.11.2009 17:18:39

Да действительно глюк был из-за этого. Спасибо.

Что касается локов, они будут естественно, это я экспериментировал.
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52


Вернуться в Проблемы и баги

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], SemrushBot и гости: 7

Яндекс.Метрика