如果没有 innodb_recovery 4,PerconaDB 就无法运行

如果没有 innodb_recovery 4,PerconaDB 就无法运行

我的 Percona 5.7.11-4 无故崩溃。现在我只能使用 innodb force recovery = 4 来运行。这是日志的回溯。你能帮忙吗?谢谢。

> 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+0x2c)[0xec0a9c]
> /usr/sbin/mysqld(handle_fatal_signal+0x461)[0x79b8c1]
> /lib64/libpthread.so.0[0x3b47c0f7e0]
> /lib64/libc.so.6(gsignal+0x35)[0x3b47832625]
> /lib64/libc.so.6(abort+0x175)[0x3b47833e05] /usr/sbin/mysqld[0x76a54c]
> /usr/sbin/mysqld(_Z32page_cur_search_with_match_bytesPK11buf_block_tPK12dict_index_tPK8dtuple_t15page_cur_mode_tPmS9_S9_S9_P10page_cur_t+0x969)[0xf7ff69]
> /usr/sbin/mysqld(_Z27btr_cur_search_to_nth_levelP12dict_index_tmPK8dtuple_t15page_cur_mode_tmP9btr_cur_tmPKcmP5mtr_t+0x97d)[0x10a6cfd]
> /usr/sbin/mysqld(_Z30btr_pcur_open_on_user_rec_funcP12dict_index_tPK8dtuple_t15page_cur_mode_tmP10btr_pcur_tPKcmP5mtr_t+0x96)[0x10b00c6]
> /usr/sbin/mysqld[0x111bbda]
> /usr/sbin/mysqld(_Z39dict_check_tablespaces_and_store_max_idb+0xa29)[0x111d499]
> /usr/sbin/mysqld(_Z34innobase_start_or_create_for_mysqlv+0x45f3)[0x1034253]
> /usr/sbin/mysqld[0xef89b8]
> /usr/sbin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x51)[0x7fa171]
> /usr/sbin/mysqld[0xcc5566]
> /usr/sbin/mysqld(_Z11plugin_initPiPPci+0x600)[0xccc430]
> /usr/sbin/mysqld[0x79439d]
> /usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x62a)[0x7957da]
> /lib64/libc.so.6(__libc_start_main+0xfd)[0x3b4781ed5d]
> /usr/sbin/mysqld[0x78b575] You may download the Percona Server
> operations manual by visiting
> http://www.percona.com/software/percona-server/. You may find
> information in the manual which will help you identify the cause of
> the crash. 2016-05-18T19:53:28.676862Z mysqld_safe mysqld from pid
> file /var/run/mysqld/mysqld.pid ended

答案1

我的帮助包括指出你相关文件. 您应该仔细阅读并了解innodb强制恢复

尤其

如果您能够使用 innodb_force_recovery 值 3 或更低的值转储表,则相对安全,只有损坏的个别页面上的部分数据会丢失。值 4 或更高则被视为危险,因为数据文件可能会永久损坏。

是相关的。正如

仅在紧急情况下将 innodb_force_recovery 设置为大于 0 的值,以便您可以启动 InnoDB 并转储表。在执行此操作之前,请确保您拥有数据库的备份副本,以防需要重新创建它。

完成后,您应该启动数据库服务器,然后除了转储所有数据库之外什么都不要做。

现在您可以删除相关的数据库/表并从转储中恢复它们。

相关内容