Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Сбой InnoDB logfile после hard-reset (xOr) 05/06/2010 - 20:57:49
      Re: Сбой InnoDB logfile после hard-reset (xOr) 21/06/2010 - 01:09:09



From: xOr - 05/06/2010 - 20:57:49
Subject:Сбой InnoDB logfile после hard-reset
-----------------
Добрый день!

Имеется база MySQL с одной таблицей InnoDB (остальные MyISAM).
В ней каждые N секунд происходит много UPDATE, объединенных в одну транзакцию.
Файлы базы расположены на разделе ZFS.

После перезагрузки сервера по питанию, InnoDB восстанавливается из журнала,
однако, потом не запускается. Ошибка следующая:

100605 02:54:09 mysqld started
InnoDB: Error: log file /var/db/mysql/ib_logfile0 is of different size 0 21011456 bytes
InnoDB: than specified in the .cnf file 0 20971520 bytes!

Т.е. размер лог-файлов изменился (немнго вырос). То ли из за дискового сбоя, то ли просто во время прошлой работы (не отслеживал).

Помогает выключение mysql, удаление лог-файлов и запуск снова.

Можно, конечно, написать скрипт, который будет проверять что база восстановлена и затем удалять лог-файлы. Но это опасно, и не охота.

Хочется настроить базу так, чтобы она стартовала сама после сбоев электропитания.

Кто знает как это сделать - подскажите, пожалуйста! В интернете все подобные проблемы обсуждаются только в отношении самостоятельного изменения размера лог-файлов. Нигде не нашел проблемы, когда их размер сам меняется...

Кстати, даже поле восстановления лог-файлов, следующие перезапуски mysql приводят к выдаче следующих предупреждений:

100605 18:29:05 InnoDB: Error: page 45 log sequence number 0 225634929
InnoDB: is in the future! Current system log sequence number 0 14025977.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
100605 18:29:05 InnoDB: Error: page 53 log sequence number 0 225634567
InnoDB: is in the future! Current system log sequence number 0 14025977.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
100605 18:29:05 InnoDB: Error: page 58 log sequence number 0 227182235
InnoDB: is in the future! Current system log sequence number 0 14025977.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
100605 18:29:05 InnoDB: Started; log sequence number 0 14025977
100605 18:29:06 [Note] /usr/local/libexec/mysqld: ready for connections.


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

Есть ещё подозрение, что подобное происходит только с ZFS. Несмотря на её хваленую надежность про сбоях записи (copy on write), позволяющую исключить искажение прежних версий данных (возможна незапись только обновлений).

Софт: FreeBSD 7.1-RELEASE
mysql-server-5.0.89 Multithreaded SQL database (server)
mysql Ver 14.12 Distrib 5.0.84, for portbld-freebsd7.1 (i386) using 5.2
ZFS filesystem version 6
ZFS storage pool version 6


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37211



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |