LINUX.ORG.RU
ФорумAdmin

Вот как, блин, узнать, в какой БД ошибка??


0

1

mysql — такой mysql... Второй день воюю с таким, вот:

120724 16:50:46  InnoDB: Error: page 3 log sequence number 49851480965
InnoDB: is in the future! Current system log sequence number 5909242487.
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.1/en/forcing-recovery.html
InnoDB: for more information.

Вот как узнать, в какой БД ошибки? Уже перезагрузил из дампов все основные, под подозрением, базы. Перегружать вообще всё, около 40Гб дампов? Нет ли менее обезьянего способа? Вот сложно им было в логе вывести название БД и таблицы, в которой ошибка, блин?


Ответ на: комментарий от anonymous

а хоть бы версию мускула сказал

Очевидно (для тех, кто не первый день на ЛОРе), что 5.1.x

Точнее — 5.1.62-r1

KRoN73
() автор топика
Ответ на: комментарий от anonymous

И, кстати, в топикстарте фигурирует «refman/5.1»

KRoN73
() автор топика
Ответ на: комментарий от placeholder

Какие действия ошибку вызывают?

Позавчера рестартовал сервер. Просто по sudo reboot.

mysql не стартовал, сразу засегфолтился. Помучил, помучил его, загрузил с дефолтовым, неоптимальным конфигом. Завёлся. Но посыпались такие, вот, ошибки. Пробовал запускать с innodb_force_recovery = 1..6. Для значений от 1 до 3 таких ошибок нет, но начинает материться:

InnoDB: A new raw disk partition was initialized or
InnoDB: innodb_force_recovery is on: we do not allow
InnoDB: database modifications by the user. Shut down
InnoDB: mysqld and edit my.cnf so that newraw is replaced
InnoDB: with raw, and innodb_force_... is removed.

На значениях от 4 и выше — сегфолтится. Лога сейчас под рукой нет, я их чищу, а то таких ошибок сотнями мегов сыплется на высокой активности. Ошибка что-то типа mmopen ... Не помню. Короче, на веделении памяти. Ресурсов у сервера дофига, по ulimit все ограничения снял.

KRoN73
() автор топика
Ответ на: комментарий от anonymous

Видимо посеял логфайлы?

# ls -l /var/lib/mysql/ib*
-rw-r----- 1 mysql mysql 134217728 июля  24 17:23 /var/lib/mysql/ibdata1
-rw-rw---- 1 mysql mysql 268435456 июля  24 17:23 /var/lib/mysql/ib_logfile0
-rw-rw---- 1 mysql mysql 268435456 июля  24 17:10 /var/lib/mysql/ib_logfile1
KRoN73
() автор топика

Уф. После перегрузки всех баз при старте выскочило две ошибки как ранее(?!), зато в логи посыпались тонны:

120724 18:53:18 [Warning] Statement may not be safe to log in statement format. Statement: INSERT DELAYED INTO bors_access_log  (`user_ip`,`url`,`server_uri`,`referer`,`class_name`,`object_id`,`access_time`,`operation_time`,`has_bors`,`has_bors_url`,`user_agent`,`id`) VALUES ('178.163.65.32','http://forums.airbase.ru/2008/10/t64446--podvodnye-lodki-proekta-949-i-949a.html','http://forums.airbase.ru/2008/10/t64446--podvodnye-lodki-proekta-949-i-949a.html','http://balancer.ru/tools/search/result/?q=%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82+949%D0%B0','forum_topic','64446','1343141588','10.161675930023',

KRoN73
() автор топика
Ответ на: комментарий от KRoN73

Весёлый сервер. Отключаешь bin-log, сегфолтится с:

Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0 thread_stack 0x40000
/usr/sbin/mysqld(my_print_stacktrace+0x29) [0x9a9209]
/usr/sbin/mysqld(handle_fatal_signal+0x40a) [0x6ec74a]
/lib64/libpthread.so.0(+0x107f0) [0x7f744f9637f0]
/usr/sbin/mysqld(TC_LOG_MMAP::recover()+0x112) [0x69e592]
/usr/sbin/mysqld(TC_LOG_MMAP::open(char const*)+0x3d0) [0x69ea30]
/usr/sbin/mysqld() [0x6046ec]
/usr/sbin/mysqld(main+0x1b6) [0x607136]
/lib64/libc.so.6(__libc_start_main+0xec) [0x7f744e3e62ec]
/usr/sbin/mysqld() [0x54f009]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

Включаешь binlog — всё работает, но логи забиты варинингами.

KRoN73
() автор топика
Ответ на: комментарий от KRoN73

Убил tc.log, перезапустил — всё работает. Только по-прежнему две ошибки на старте:

120724 18:59:48 [Note] Plugin 'ndbcluster' is disabled.
120724 18:59:48 [ERROR] Function 'pbxt' already exists
120724 18:59:48 [Warning] Couldn't load plugin named 'pbxt' with soname 'libpbxt.so'.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
120724 18:59:48  InnoDB: highest supported file format is Barracuda.
120724 18:59:49  InnoDB: Error: page 3 log sequence number 49851480965
InnoDB: is in the future! Current system log sequence number 15077630641.
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.1/en/forcing-recovery.html
InnoDB: for more information.
120724 18:59:49 InnoDB Plugin 1.0.6-unknown started; log sequence number 15077630641
120724 18:59:49 [Note] PrimeBase XT (PBXT) Engine 1.0.11-6 Pre-GA loaded...
120724 18:59:49 [Note] Paul McCullagh, PrimeBase Technologies GmbH, http://www.primebase.org
120724 18:59:50 [Note] PBXT: Recovering from 77-6907156, bytes to read: 26647276
120724 18:59:50 [Note] PBXT: Recovering complete at 77-6907156, bytes read: 26647276
120724 18:59:50 [Note] Event Scheduler: Loaded 0 events
120724 18:59:50 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.62'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  Gentoo Linux mysql-5.1.62-r1
120724 18:59:50  InnoDB: Error: page 46 log sequence number 868835704947
InnoDB: is in the future! Current system log sequence number 15077630651.
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.1/en/forcing-recovery.html
InnoDB: for more information.

Надо, наверное, было, всё же, его целиком переиницилизировать, убив все БД и перезагрузив из бэкапа. Но уж больно влом было...

KRoN73
() автор топика
Ответ на: комментарий от KRoN73

Если используешь innodb_file_per_table, то пройдись innochecksum по всем *.ibd. У тебя две страницы (3 и 46) с кривым lsn. Innochecksum такие ошибки отловит и покажет в каком именно файле (читай таблице) они находятся.

Chumka
()
Ответ на: комментарий от Chumka

то пройдись innochecksum по всем *.ibd

Это я первым делом сделал. Фигушки, ошибок не было. Так что было что-то более хитрое. Как я писал выше, условно проблема была решена перезагрузкой всех баз из дампов. Условно — потому что при старте всё равно выдаёт две ошибки (неизвестно где), но при работе потом не вылезают, лог стал чистый.

KRoN73
() автор топика

Блин. Как он меня достал. Опять упал на рестарте:

120822  3:28:57 [Note] /usr/sbin/mysqld: Normal shutdown

120822  3:28:58 [Note] Event Scheduler: Purging the queue. 0 events
120822 03:29:07 [Note] PrimeBase XT Engine shutdown...
120822  3:29:07  InnoDB: Starting shutdown...
120822  3:30:35  InnoDB: Shutdown completed; log sequence number 33971670325
120822  3:30:35 [Note] /usr/sbin/mysqld: Shutdown complete

120822  3:30:36 [Note] Plugin 'ndbcluster' is disabled.
120822  3:30:36 [ERROR] Function 'pbxt' already exists
120822  3:30:36 [Warning] Couldn't load plugin named 'pbxt' with soname 'libpbxt.so'.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
120822  3:30:37  InnoDB: highest supported file format is Barracuda.
120822  3:30:38  InnoDB: Error: page 3 log sequence number 49851480965
InnoDB: is in the future! Current system log sequence number 33971670325.
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.1/en/forcing-recovery.html
InnoDB: for more information.

На этот раз перезапуск «ручной», штатный, без каких-либо извращений. И, на тебе: 120822 3:28:57 [Note] /usr/sbin/mysqld: Normal shutdown 120822 3:30:35 InnoDB: Shutdown completed; log sequence number 33971670325 120822 3:30:35 [Note] /usr/sbin/mysqld: Shutdown complete 120822 3:30:38 InnoDB: Error: page 3 log sequence number 49851480965 InnoDB: is in the future! Current system log sequence number 33971670325. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files.

KRoN73
() автор топика
Ответ на: комментарий от KRoN73

И, да, innochecksum по всем *.ibd не даёт ошибок...

KRoN73
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.