Percona
沒有 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
我的幫助包括將您指向相關文件。您應該仔細閱讀並了解innodb 強制恢復的目的。
尤其
如果您能夠以 3 或更低的 innodb_force_recovery 值轉儲您的表,那麼您相對安全,只有損壞的單個頁面上的一些數據會失去。4 或更大的值被認為是危險的,因為數據文件可能會永久損壞。
是相關的。原樣
僅在緊急情況下將 innodb_force_recovery 設置為大於 0 的值,以便您可以啟動 InnoDB 並轉儲表。在這樣做之前,請確保您擁有數據庫的備份副本,以防需要重新創建它。
完成後,您應該啟動數據庫伺服器,然後除了轉儲所有數據庫之外什麼也不做。
現在您可以刪除相關的數據庫/表並從轉儲中恢復它們。