mysql 8025 故障日志:
2022-02-23T13:59:27.477020Z 0 [Warning] [MY-010909] [Server] /root/opt/mysql/8.0.25/bin/mysqld: Forcing close of thread 8 user: 'root'.
2022-02-23T13:59:27.926166Z 0 [System] [MY-010910] [Server] /root/opt/mysql/8.0.25/bin/mysqld: Shutdown complete (mysqld 8.0.25) MySQL Community Server - GPL.
2022-02-23T13:59:30.507485Z 0 [System] [MY-010116] [Server] /root/opt/mysql/8.0.25/bin/mysqld (mysqld 8.0.25) starting as process 1615
2022-02-23T13:59:30.528471Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-02-23T13:59:30.860832Z 0 [ERROR] [MY-012684] [InnoDB] [FATAL] is_short 0, info_and_status_bits 0, offset 367, o_offset 7, mismatch index 18446744073709551578, end_seg_len 68 parsed len 4
2022-02-23T13:59:30.861386Z 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: ut0ut.cc:555 thread 140041256920832
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
13:59:30 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
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 0x46000
/root/opt/mysql/8.0.25/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x2e) [0x1e7746e]
/root/opt/mysql/8.0.25/bin/mysqld(handle_fatal_signal+0x303) [0xec1fa3]
/lib64/libpthread.so.0(+0xf5d0) [0x7f5dfa8315d0]
/lib64/libc.so.6(gsignal+0x37) [0x7f5df8ab9207]
/lib64/libc.so.6(abort+0x148) [0x7f5df8aba8f8]
/root/opt/mysql/8.0.25/bin/mysqld() [0xc15bce]
/root/opt/mysql/8.0.25/bin/mysqld() [0x2121a4c]
/root/opt/mysql/8.0.25/bin/mysqld(page_cur_parse_insert_rec(unsigned long, unsigned char const*, unsigned char const*, buf_block_t*, dict_index_t*, mtr_t*)+0xb20) [0x2034570]
/root/opt/mysql/8.0.25/bin/mysqld() [0x2006d4f]
/root/opt/mysql/8.0.25/bin/mysqld(recv_recover_page_func(bool, buf_block_t*)+0x607) [0x2009a67]
/root/opt/mysql/8.0.25/bin/mysqld(buf_page_io_complete(buf_page_t*, bool)+0x3c4) [0x2183274]
/root/opt/mysql/8.0.25/bin/mysqld(fil_aio_wait(unsigned long)+0x133) [0x223be93]
/root/opt/mysql/8.0.25/bin/mysqld() [0x20c8360]
/root/opt/mysql/8.0.25/bin/mysqld(std::thread::_State_impl<std::thread::_Invoker<std::tuple<Runnable, void (*)(unsigned long), unsigned long> > >::_M_run()+0xa2) [0x20c91e2]
/root/opt/mysql/8.0.25/bin/mysqld() [0x25bd3a0]
/lib64/libpthread.so.0(+0x7dd5) [0x7f5dfa829dd5]
/lib64/libc.so.6(clone+0x6d) [0x7f5df8b80ead]
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.
##函数解析:
page_cur_parse_insert_rec()
byte* page_cur_parse_insert_rec | ( | ibool | is_short, |
const byte * | ptr, | ||
const byte * | end_ptr, | ||
buf_block_t * | block, | ||
dict_index_t * | index, | ||
mtr_t * | mtr | ||
) |
Parses a log record of a record insert on a page.
Returns
end of log record or NULL in: mtr or NULL
end of log record or NULL
Parameters
is_short | in: TRUE if short inserts |
ptr | in: buffer |
end_ptr | in: buffer end |
block | in: page or NULL |
index | in: record descriptor |
mtr | in: mtr or NULL |
recv_recover_page_func()
void recv_recover_page_func | ( | bool | just_read_in, |
buf_block_t * | block | ||
) |
Applies the hashed log records to the page, if the page lsn is less than the lsn of a log record.
This can be called when a buffer page has just been read in, or also for a page already in the buffer pool.
Parameters
[in] | just_read_in | true if the IO handler calls this for a freshly read page |
[in,out] | block | buffer block |
◆ buf_page_io_complete()
bool buf_page_io_complete | ( | buf_page_t * | bpage, |
bool | evict | ||
) |
Completes an asynchronous read or write request of a file page to or from the buffer pool.
Parameters
[in] | bpage | pointer to the block in question |
[in] | evict | whether or not to evict the page from LRU list |
Returns
true if successful
根据mysql 的崩溃堆栈函数信息,可以推测mysql 是在事务一致性恢复时崩溃;
处理方式:
#innodb_force_recovery=6
强制启动mysql ,逻辑导出导入;