MySQL Forums
Forum List  »  Data Recovery

Restore InnoDB data basing on .frm and common ibdata file
Posted by: MIchael Abramovich
Date: August 18, 2012 09:15AM

Hello.

I can't launch my MySQL instance. Below will show you logs.
When it were in working state it has been of version 5.0.65. Than MySQL hang and I decided to kill the processess. Aftermath I upgraded it to Percona 5.5 and tried to start. It were unable to start because of ib_logfiles incostintency error (don't remember exactly).
I have saved original ib_logfiles0/1 and ibdata1/2. Then removed existing and started MySQL. It has created new files and now started successfully.
Then I took my ib* files and directiory of database with .frm files and copied it to test server where I have MySQL 5.5.24.

But when I start MySQL it shows me:

# /usr/sbin/mysqld --innodb_force_recovery=4
120818 14:16:03 [Note] Plugin 'FEDERATED' is disabled.
120818 14:16:03 InnoDB: The InnoDB memory heap is disabled
120818 14:16:03 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120818 14:16:03 InnoDB: Compressed tables use zlib 1.2.3
120818 14:16:03 InnoDB: Using Linux native AIO
120818 14:16:03 InnoDB: Initializing buffer pool, size = 128.0M
120818 14:16:03 InnoDB: Completed initialization of buffer pool
120818 14:16:03 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
120818 14:16:03  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Warning: a page in the doublewrite buffer is not within space
InnoDB: bounds; space id 0 page number 174801, page 0 in doublewrite buf.
InnoDB: Warning: a page in the doublewrite buffer is not within space
InnoDB: bounds; space id 0 page number 174810, page 1 in doublewrite buf.
InnoDB: Warning: a page in the doublewrite buffer is not within space
...
many times of similar output
...
InnoDB: Warning: a page in the doublewrite buffer is not within space
InnoDB: bounds; space id 0 page number 331774, page 126 in doublewrite buf.
InnoDB: Warning: a page in the doublewrite buffer is not within space
InnoDB: bounds; space id 0 page number 331775, page 127 in doublewrite buf.
InnoDB: Error: trying to access page number 247048 in space 0,
InnoDB: space name ./ibdata1,
InnoDB: which is outside the tablespace bounds.
InnoDB: Byte offset 0, len 16384, i/o type 10.
InnoDB: If you get this error at mysqld startup, please check that
InnoDB: your my.cnf matches the ibdata files that you have in the
InnoDB: MySQL server.
120818 14:16:03  InnoDB: Assertion failure in thread 140573762901792 in file fil0fil.c line 4434
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.
12:16:03 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=151
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 = 346679 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+0x29)[0x7fd9e1880eb9]
/usr/sbin/mysqld(handle_fatal_signal+0x3d8)[0x7fd9e17691d8]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xf030)[0x7fd9e0f23030]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)[0x7fd9df9d3475]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x180)[0x7fd9df9d66f0]
/usr/sbin/mysqld(+0x5eed67)[0x7fd9e1940d67]
/usr/sbin/mysqld(+0x5cb450)[0x7fd9e191d450]
/usr/sbin/mysqld(+0x5cbb1f)[0x7fd9e191db1f]
/usr/sbin/mysqld(+0x5bcc5c)[0x7fd9e190ec5c]
/usr/sbin/mysqld(+0x5a8eef)[0x7fd9e18faeef]
/usr/sbin/mysqld(+0x5b3357)[0x7fd9e1905357]
/usr/sbin/mysqld(+0x5e1006)[0x7fd9e1933006]
/usr/sbin/mysqld(+0x5e20b9)[0x7fd9e19340b9]
/usr/sbin/mysqld(+0x5cea24)[0x7fd9e1920a24]
/usr/sbin/mysqld(+0x57f0da)[0x7fd9e18d10da]
/usr/sbin/mysqld(+0x54de9f)[0x7fd9e189fe9f]
/usr/sbin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x41)[0x7fd9e176b471]
/usr/sbin/mysqld(+0x32ad87)[0x7fd9e167cd87]
/usr/sbin/mysqld(_Z11plugin_initPiPPci+0xa43)[0x7fd9e1680163]
/usr/sbin/mysqld(+0x2b3895)[0x7fd9e1605895]
/usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x45b)[0x7fd9e160650b]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7fd9df9bfead]
/usr/sbin/mysqld(+0x2abd29)[0x7fd9e15fdd29]
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.

I also downloaded innodb-tools but seem to be I'm not prefoessional enough to operate with that.

So now I have all ibdata files, all ib_logfiles, all .frm files but can't lauch MySQL to dump them.

What can I do now?



Edited 1 time(s). Last edit at 08/18/2012 09:24AM by MIchael Abramovich.

Options: ReplyQuote




Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.