mysql 5.6.34 突然宕机,启动不了,提示[ERROR] InnoDB: Space id in fsp header

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 5.6.34 突然宕机,启动不了,提示[ERROR] InnoDB: Space id in fsp header相关的知识,希望对你有一定的参考价值。

一、问题描述

一台线上的从服务器,半夜收到报警短信提示异常,连接到该服务器,发现mysqld进程不在了,ps 查看,也没有查到。于是重启,但是重启失败,提示without pid file 于是查看errorlog,内容如下:

2017-09-22 03:37:42 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-09-22 03:37:42 0 [Note] /opt/app/mysql5/bin/mysqld (mysqld 5.6.34-log) starting as process 166408 ...
2017-09-22 03:37:42 166408 [Note] Plugin ‘FEDERATED‘ is disabled.
2017-09-22 03:37:42 7f5b77946720 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the 
option innodb_use_sys_malloc and with the InnoDB‘s internal memory allocator.
2017-09-22 03:37:42 166408 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-09-22 03:37:42 166408 [Note] InnoDB: The InnoDB memory heap is disabled
2017-09-22 03:37:42 166408 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-09-22 03:37:42 166408 [Note] InnoDB: Memory barrier is not used
2017-09-22 03:37:42 166408 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-09-22 03:37:42 166408 [Note] InnoDB: Using CPU crc32 instructions
2017-09-22 03:37:42 166408 [Note] InnoDB: Initializing buffer pool, size = 4.0G
2017-09-22 03:37:43 166408 [Note] InnoDB: Completed initialization of buffer pool
2017-09-22 03:37:43 166408 [Note] InnoDB: Highest supported file format is Barracuda.
2017-09-22 03:37:43 166408 [Note] InnoDB: Log scan progressed past the checkpoint lsn 4014227018962
2017-09-22 03:37:43 166408 [Note] InnoDB: Database was not shutdown normally!
2017-09-22 03:37:43 166408 [Note] InnoDB: Starting crash recovery.
2017-09-22 03:37:43 166408 [Note] InnoDB: Reading tablespace information from the .ibd files...
2017-09-22 03:37:43 166408 [ERROR] InnoDB: Space id in fsp header 1416128883,but in the page header 824195850
19:37:43 UTC - 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 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=536870912
read_buffer_size=16777216
max_used_connections=0
max_threads=1024
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 = 84423448 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 0x40000
/opt/app/mysql5/bin/mysqld(my_print_stacktrace+0x35)[0x8eebe5]
/opt/app/mysql5/bin/mysqld(handle_fatal_signal+0x41b)[0x6556ab]
/lib64/libpthread.so.0[0x3ff300f7e0]
/opt/app/mysql5/bin/mysqld[0xb3366b]
/opt/app/mysql5/bin/mysqld[0x9a240d]
/opt/app/mysql5/bin/mysqld[0xa49e6b]
/opt/app/mysql5/bin/mysqld[0xa89e06]
/opt/app/mysql5/bin/mysqld[0xa8c0ab]
/opt/app/mysql5/bin/mysqld[0xa908c7]
/opt/app/mysql5/bin/mysqld[0xa95502]
/opt/app/mysql5/bin/mysqld[0x9844ec]
/opt/app/mysql5/bin/mysqld[0x989bab]
/opt/app/mysql5/bin/mysqld[0x9fe679]
/opt/app/mysql5/bin/mysqld[0x94acd7]
/opt/app/mysql5/bin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x48)[0x590798]
/opt/app/mysql5/bin/mysqld[0x6e8716]
/opt/app/mysql5/bin/mysqld(_Z11plugin_initPiPPci+0xb3e)[0x6ebf2e]
/opt/app/mysql5/bin/mysqld[0x583b85]
/opt/app/mysql5/bin/mysqld(_Z11mysqld_mainiPPc+0x4d8)[0x588c28]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x3ff2c1ed1d]
/opt/app/mysql5/bin/mysqld[0x57a8c9]
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.
170922 03:37:43 mysqld_safe mysqld from pid file /opt/app/mysql5/var/mysql.pid ended
170922 04:08:37 mysqld_safe Starting mysqld daemon with databases from /opt/app/mysql5/var
2017-09-22 04:08:37 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for m
ore details).
同样的,使用/opt/app/mysql5/bin/mysqld_safe也是启动不了。网上找了很多资料,有说是磁盘满了
有说是内存满了,但是此服务器的磁盘和内存都足够。有的说是删除数据目录下面的ibdata和ib_logfile
文件,然后重新启动就ok了,然而试了以后依然启动不了。
参考了几个链接:
分析连接:http://qkxue.net/info/155788/MySQL

感觉分析的挺有道理的,不过没有解决方法!

如果有哪位朋友遇到过并且成功解决了,请指教,不胜感激!

本文出自 “知识体系” 博客,请务必保留此出处http://linuxg.blog.51cto.com/4410110/1967689

以上是关于mysql 5.6.34 突然宕机,启动不了,提示[ERROR] InnoDB: Space id in fsp header的主要内容,如果未能解决你的问题,请参考以下文章

pxc 两台重启

mysql突然登录不了?

服务器上的Mysql表全丢了情况下恢复数据

eclipse3.7里面突然启动不了Tomcat7了,请大神支招!

求助 linux系统根目录空间突然满了?

一例mysql主从数据库,从库宕机后无法启动的解决方案