2

Am trying to get a database up and running after having a hard disk crash, got the data recovered.

mysql can only start with the innodb_force_recovery set as 5 or 6.

When started I can get a table listing from the schema, but attempting to select any data from tables fails with 'mysqld got signal 11 ' So cannot do a mysqldump in order to get the database re-created.

Any help appreciated, running version MySQL version 5.5.35


Here is the output from the log file when running innodb_force_recovery=6:

key_buffer_size=268435456

read_buffer_size=1048576

max_used_connections=1

max_threads=1001

thread_count=1

connection_count=1

It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 2323726 K bytes of memory Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x7f7869ded2c0 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 = 7f78625b8e60 thread_stack 0x30000

/usr/sbin/mysqld(my_print_stacktrace+0x29)[0x7f7862cde719]

/usr/sbin/mysqld(handle_fatal_signal+0x483)[0x7f7862ba3ae3]

/lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0)[0x7f78618edcb0]

/usr/sbin/mysqld(+0x5effa0)[0x7f7862d74fa0]

/usr/sbin/mysqld(+0x5f46e7)[0x7f7862d796e7]

/usr/sbin/mysqld(+0x5d1ad7)[0x7f7862d56ad7]

/usr/sbin/mysqld(+0x5cb0a7)[0x7f7862d500a7]

/usr/sbin/mysqld(+0x5d8597)[0x7f7862d5d597]

/usr/sbin/mysqld(_Z13rr_sequentialP11READ_RECORD+0x19)[0x7f7862c77859]

/usr/sbin/mysqld(_Z10sub_selectP4JOINP13st_join_tableb+0x61)[0x7f7862aa95c1]

/usr/sbin/mysqld(+0x3352f4)[0x7f7862aba2f4]

/usr/sbin/mysqld(_ZN4JOIN4execEv+0xc03)[0x7f7862ac9f43]

/usr/sbin/mysqld(_Z12mysql_selectP3THDPPP4ItemP10TABLE_LISTjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_resultP18st_select_lex_unitP13st_select_lex+0x130)[0x7f7862ac5690]

/usr/sbin/mysqld(_Z13handle_selectP3THDP3LEXP13select_resultm+0x17c)[0x7f7862acb6bc]

/usr/sbin/mysqld(+0x2fad54)[0x7f7862a7fd54]

/usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x16a6)[0x7f7862a87876]

/usr/sbin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x10f)[0x7f7862a8ca8f] /usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x1e81)[0x7f7862a8e9e1]

/usr/sbin/mysqld(_Z24do_handle_one_connectionP3THD+0x1bd)[0x7f7862b34e1d]

/usr/sbin/mysqld(handle_one_connection+0x50)[0x7f7862b34e80]

/lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a)[0x7f78618e5e9a]

/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f7861016ccd]

Trying to get some variables.

Some pointers may be invalid and cause the dump to abort.

Query (7f7768004b80): is an invalid pointer

Connection ID (thread ID): 5

Status: NOT_KILLED

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. 140224 10:21:33 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.

140224 10:21:33 [Note] Plugin 'FEDERATED' is disabled.

140224 10:21:33 InnoDB: The InnoDB memory heap is disabled

140224 10:21:33 InnoDB: Mutexes and rw_locks use GCC atomic builtins

140224 10:21:33 InnoDB: Compressed tables use zlib 1.2.3.4

140224 10:21:33 InnoDB: Initializing buffer pool, size = 2.9G

140224 10:21:33 InnoDB: Completed initialization of buffer pool

140224 10:21:33 InnoDB: highest supported file format is Barracuda.

InnoDB: The user has set SRV_FORCE_NO_LOG_REDO on

InnoDB: Skipping log redo

140224 10:21:33 InnoDB: Waiting for the background threads to start

140224 10:21:34 InnoDB: 5.5.35 started; log sequence number 0

140224 10:21:34 InnoDB: !!! innodb_force_recovery is set to 6 !!!

140224 10:21:34 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306

140224 10:21:34 [Note] - '0.0.0.0' resolves to '0.0.0.0';

140224 10:21:34 [Note] Server socket created on IP: '0.0.0.0'.

140224 10:21:34 [Warning] 'user' entry 'xx@xxx' ignored in --skip-name-resolve mode.

140224 10:21:34 [Warning] 'user' entry 'xx@xxx' ignored in --skip-name-resolve mode.

140224 10:21:34 [Warning] 'proxies_priv' entry '@ xx@xxx' ignored in --skip-name-resolve mode.

140224 10:21:34 [Note] Event Scheduler: Loaded 0 events

140224 10:21:34 [Note] /usr/sbin/mysqld: ready for connections.

Version: '5.5.35-0ubuntu0.12.04.2-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)

0

1 Answer 1

1

Dump as many tables with mysqldump as it allows:

  mysqldump --skip-lock-tables <database> <table> > <database>.<table>.sql

The remaining tables recover with Data Recovery Tool for InnoDB . Basically you need to fetch records from the tables so you can reload them into a fresh InnoDB instance

Not the answer you're looking for? Browse other questions tagged or ask your own question.