I am having a major crash on mysql affecting a lot of websites.
We had a crash on our SAN storage. Since that time, mysql refuse to start.
I tried to reinstall mysql, but still no luck. I think something must be damaged, but i don't know a lot about how to rescue mysql exactly. Please be so kind to guide me step by step :)
I can't start it even in recovery mode :
[root@bd1 ~]# /etc/init.d/mysqld start --innodb_force_recovery=1 MySQL Daemon failed to start. Starting mysqld: [FAILED]
Here is our mysql version : mysqld --version
mysqld Ver 5.6.19 for Linux on x86_64 (MySQL Community Server (GPL))
Here are the logs i see when i restart the mysql server :
2014-06-06 21:06:58 2261 [Note] /usr/sbin/mysqld: Shutdown complete
140606 21:07:03 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
140606 21:07:22 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2014-06-06 21:07:23 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-06-06 21:07:23 2699 [Note] Plugin 'FEDERATED' is disabled.
2014-06-06 21:07:23 2699 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-06-06 21:07:23 2699 [Note] InnoDB: The InnoDB memory heap is disabled
2014-06-06 21:07:23 2699 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-06-06 21:07:23 2699 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-06-06 21:07:23 2699 [Note] InnoDB: Using Linux native AIO
2014-06-06 21:07:23 2699 [Note] InnoDB: Not using CPU crc32 instructions
2014-06-06 21:07:23 2699 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-06-06 21:07:23 2699 [Note] InnoDB: Completed initialization of buffer pool
2014-06-06 21:07:23 2699 [Note] InnoDB: Highest supported file format is Barracuda.
2014-06-06 21:07:23 2699 [Note] InnoDB: Log scan progressed past the checkpoint lsn 6615336358
2014-06-06 21:07:23 2699 [Note] InnoDB: Database was not shutdown normally!
2014-06-06 21:07:23 2699 [Note] InnoDB: Starting crash recovery.
2014-06-06 21:07:23 2699 [Note] InnoDB: Reading tablespace information from the .ibd files...
2014-06-06 21:07:24 2699 [Note] InnoDB: Restoring possible half-written data pages
2014-06-06 21:07:24 2699 [Note] InnoDB: from the doublewrite buffer...
InnoDB: Doing recovery: scanned up to log sequence number 6615358419
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
InnoDB: in total 0 row operations to undo
InnoDB: Trx id counter is 17388800
2014-06-06 21:07:25 2699 [Note] InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percent: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 2014-06-06 21:07:25 7f829b0c1700 InnoDB: Assertion failure in thread 140198923736832 in file log0recv.cc line 1159
InnoDB: Failing assertion: !page || (ibool)!!page_is_comp(page) == dict_table_is_comp(index->table)
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.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
31 01:07:25 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=8388608
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 = 338837 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...
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 stack_bottom = 0 thread_stack 0x40000
80 81 82 83 84 /usr/sbin/mysqld(my_print_stacktrace+0x35)[0x8d6885]
85 86 87 88 /usr/sbin/mysqld(handle_fatal_signal+0x4a4)[0x663234]
/lib64/libpthread.so.0(+0xf710)[0x7f82c4f8d710]
89 /lib64/libc.so.6(gsignal+0x35)[0x7f82c3c38925]
/lib64/libc.so.6(abort+0x175)[0x7f82c3c3a105]
90 91 92 93 94 /usr/sbin/mysqld[0x97d2db]
95 96 97 98 99 /usr/sbin/mysqld[0x97f544]
/usr/sbin/mysqld[0xa496cf]
Fatal signal 11 while backtracing