2017-09-25 65 views
0

如問題標題所示,很顯然,我想從ibdata1文件恢復數據。我在Ubuntu系統中安裝了mysql並損壞了大約189GB的數據庫。現在數據庫不會再起來,並觸發數百萬的innodb日誌序列號錯誤。僅從ibdata1文件恢復數據

錯誤

70925 14:14:34 InnoDB: Error: page 220865 log sequence number 2848448969864 InnoDB: is in the future! Current system log sequence number 2840085856559. 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.5/en/forcing-innodb-recovery.html InnoDB: for more information. 170925 14:14:34 InnoDB: Error: page 220866 log sequence number 2842327184689 InnoDB: is in the future! Current system log sequence number 2840085856620. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: link InnoDB: for more information. 170925 14:14:34 InnoDB: Error: page 220867 log sequence number 2848550606948 InnoDB: is in the future! Current system log sequence number 2840085856711. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: Link InnoDB: for more information.

我網上搜尋大量和嘗試了許多方法,如-innodb_force_recovery = N(1〜6)逐一與其他變化太大。但是DB不是要去啓動來恢復數據。

我已經清除了數據庫並恢復了舊備份,並且服務器已啓動並正在運行。但很少有數據非常重要,我想從ibdata1文件中恢復它。

有人可以指導我如何從ibdata1文件恢復數據?

這裏錯誤日誌可能會有幫助。

 170925 14:14:34 InnoDB: Error: page 2804483 log sequence number 2846912445106 
     InnoDB: is in the future! Current system log sequence number 2840085857093. 
     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.5/en/forcing-innodb-recovery.html 
     InnoDB: for more information. 
     170925 14:14:34 InnoDB: Assertion failure in thread 1404991in file trx0rseg.c line 144 
     InnoDB: Failing assertion: UT_LIST_GET_LEN(rseg->update_undo_list) == 0 
     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/5.5/en/forcing-innodb-recovery.html 
     InnoDB: about forcing recovery. 
     08:44:34 UTC - mysqld got signal 6 ; 
     This could be because you hit a bug. It is also possible that this binary 
     or one of the libraries it was linked against is corrupt, improperly built, 
     or misconfigured. This error can also be caused by malfunctioning hardware. 
     We will try our best to scrape up some info that will hopefully help 
     diagnose the problem, but since we have already crashed, 
     something is definitely wrong and this may fail. 
     key_buffer_size=16777216 
     read_buffer_size=131072 
     max_used_connections=0 
     max_threads=500 
     thread_count=0 
     connection_count=0 
     It is possible that mysqld could use up to 
     key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 1110145 K bytes of memory 
     Hope that's ok; if not, decrease some variables in the equation. 
     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 0x30000 
     /usr/sbin/mysqld(my_print_stacktrace+0x20)[0x7fc87f558400] 
     /usr/sbin/mysqld(handle_fatal_signal+0x3d5)[0x7fc87f442a35] 
     /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7fc87e1d3340] 
     /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39)[0x7fc87d829bb9] 
     /lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7fc87d82cfc8] 
     /usr/sbin/mysqld(+0x5a0e0f)[0x7fc87f608e0f] 
     /usr/sbin/mysqld(+0x5a3d00)[0x7fc87f60bd00] 
     /usr/sbin/mysqld(+0x590f2a)[0x7fc87f5f8f2a] 
     /usr/sbin/mysqld(+0x55c036)[0x7fc87f5c4036] 
     /usr/sbin/mysqld(_Z22ha_finalize_handlertonP13st_plugin_int+0x2b)[0x7fc87f4449bb] 
     /usr/sbin/mysqld(+0x2ffa29)[0x7fc87f367a29] 
     /usr/sbin/mysqld(+0x303a71)[0x7fc87f36ba71] 
     /usr/sbin/mysqld(_Z15plugin_shutdownv+0x1cd)[0x7fc87f36cbed] 
     /usr/sbin/mysqld(+0x289cf1)[0x7fc87f2f1cf1] 
     /usr/sbin/mysqld(unireg_abort+0x1c3)[0x7fc87f2f27f3] 
     /usr/sbin/mysqld(+0x28b2e8)[0x7fc87f2f32e8] 
     /usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x45b)[0x7fc87f2f751b] 
     /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fc87d814ec5] 
     /usr/sbin/mysqld(+0x286a78)[0x7fc87f2eea78] 
     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. 

幫助將非常感激。

回答

0

它用在/ usr /斌/ mysqld_safe的啓動數據庫解決&