Adrian, ----- Original Message ----- From: "Adrian Liang" <[EMAIL PROTECTED]> Newsgroups: mailing.database.mysql Sent: Friday, November 01, 2002 1:46 PM Subject: how to recover innodb tables
> Hi, > > Recently my MySQL (3.23.52-max) db crashed. Although > I'm still trying to debug what happened, the bigger > issue is for me to get the data out of there as soon > as possible. > > I thought that by setting the variable > innodb_force_recovery would allow the database to come > up so I could at least do a "select into outfile" and > my data, but it won't start (I've tried values of 4, 5 > and 6). What else can I do to get at the data? if you set it to 6: set-variable = innodb_force_recovery = 6 do you get this printout: heikki@hundin:~/mysql-3.23.52/sql> mysqld InnoDB: The user has set SRV_FORCE_NO_LOG_REDO on InnoDB: Skipping log redo 021101 13:43:12 InnoDB: Started mysqld: ready for connections If it crashes with 6, I can try adding a new level 7. I would like to see the .err printout from level 6. If you can compile mysqld yourself with CFLAGS="-g -O3" ./configure --with-innodb and run inside gdb: gdb mysqld gdb> run <when crashes:> gdb> bt full I could look where it crashes and make level 7 skip that part. Please send me your whole error log. > Thanks! > > -Adrian Regards, Heikki > uname -a: Linux db1f2 2.4.2-13-p1-psmp-4g #1 SMP Mon > Aug 20 13:24:15 PDT 2001 i686 unknown > > Error log snippet: > > 021101 03:10:26 mysqld started > 021101 3:10:28 InnoDB: Database was not shut down > normally. > InnoDB: Starting recovery from log files... > InnoDB: Starting log scan based on checkpoint at > InnoDB: log sequence number 2 3270822049 > InnoDB: Error: trying to access page number 28337777 > in space 0 > InnoDB: which is outside the tablespace bounds. > InnoDB: Byte offset 0, len 16384, i/o type 10 > InnoDB: Assertion failure in thread 4096 in file > fil0fil.c line 1098 > InnoDB: We intentionally generate a memory trap. > InnoDB: Send a detailed bug report to > [EMAIL PROTECTED] > mysqld got signal 11; > This could be because you hit a bug. It is also > possible that this binary > or one of the libraries it was linked agaist 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=402649088 > record_buffer=2093056 > sort_buffer=2097144 > max_used_connections=0 > max_connections=2000 > threads_connected=0 > It is possible that mysqld could use up to > key_buffer_size + (record_buffer + > sort_buffer)*max_connections = 188588 K > bytes of memory > Hope that's ok, if not, decrease some variables in the > equation > 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... > Bogus stack limit or frame pointer, fp=0xbfffe348, > stack_bottom=0x4bb86320, thread > _stack=65536, aborting backtrace. > Trying to get some variables. > Some pointers may be invalid and cause the dump to > abort... > thd->query at 0x4ae41390 is invalid pointer > thd->thread_id=138727560 > > > > __________________________________________________ > Do you Yahoo!? > HotJobs - Search new jobs daily now > http://hotjobs.yahoo.com/ > > --------------------------------------------------------------------- > Before posting, please check: > http://www.mysql.com/manual.php (the manual) > http://lists.mysql.com/ (the list archive) > > To request this thread, e-mail <[EMAIL PROTECTED]> > To unsubscribe, e-mail <[EMAIL PROTECTED]> > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php