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 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.