List:General Discussion« Previous MessageNext Message »
From:Peter Date:June 20 2013 8:11am
Subject:help: innodb database cannot recover
View as plain text  
Hello,

I copied innodb database (ib_logfile0  ib_logfile1  ibdata1 and the whole
database directory) from one crashed machine to another.
I find that I cannot start database to get the database data any more.
I tried innodb_force_recovery=1
or innodb_force_recovery=4, it doesn't help.

Here is the error message I got:
130620 00:47:08 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
InnoDB: Error: tablespace size stored in header is 456832 pages, but
InnoDB: the sum of data file sizes is only 262080 pages
InnoDB: Cannot start InnoDB. The tail of the system tablespace is
InnoDB: missing. Have you edited innodb_data_file_path in my.cnf in an
InnoDB: inappropriate way, removing ibdata files from there?
InnoDB: You can set innodb_force_recovery=1 in my.cnf to force
InnoDB: a startup if you are trying to recover a badly corrupt database.
130620  0:47:08 [ERROR] Plugin 'InnoDB' init function returned error.
130620  0:47:08 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130620  0:47:09 [Note] Event Scheduler: Loaded 0 events
130620  0:47:09 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.52'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source
distribution
InnoDB: Error: trying to access page number 10929 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.
130620  0:47:09  InnoDB: Assertion failure in thread 2985618288 in file
fil/fil0fil.c line 4123
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.1/en/forcing-recovery.html
InnoDB: about forcing recovery.
130620  0:47:09 - 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.

is there a way to start the database again?
Thanks for your help in advance.

Peter
Thread
help: innodb database cannot recoverPeter20 Jun
  • Re: help: innodb database cannot recoverReindl Harald20 Jun
  • Re: help: innodb database cannot recoverManuel Arostegui20 Jun
    • Re: help: innodb database cannot recoverPeter20 Jun
      • Re: help: innodb database cannot recoverManuel Arostegui20 Jun
        • Re: help: innodb database cannot recoverPeter20 Jun
          • Re: help: innodb database cannot recoverPeter20 Jun
            • Re: help: innodb database cannot recoverReindl Harald20 Jun
              • Re: help: innodb database cannot recoverPeter21 Jun
                • Re: help: innodb database cannot recoverJohan De Meersman21 Jun
      • Re: help: innodb database cannot recoverReindl Harald20 Jun
        • Re: help: innodb database cannot recoverPeter20 Jun
          • Re: help: innodb database cannot recoverPeter20 Jun