小樱 发表于 2018/6/30 18:48

linux mysql数据库启动失败日志 mysqld got signal 6 使用innodb_force_recovery = 6恢复模式备份sql导出还

2018-06-30 18:40:36 7f26ae2da720InnoDB: Assertion failure in thread 139804107712288 in file fut0lst.ic line 83
InnoDB: Failing assertion: addr.page == FIL_NULL || addr.boffset >= FIL_PAGE_DATA
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.
10:40:36 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 = 338700 Kbytes 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
/usr/sbin/mysqld(my_print_stacktrace+0x35)
/usr/sbin/mysqld(handle_fatal_signal+0x494)
/lib64/libpthread.so.0(+0xf7e0)
/lib64/libc.so.6(gsignal+0x35)
/lib64/libc.so.6(abort+0x175)
/usr/sbin/mysqld
/usr/sbin/mysqld
/usr/sbin/mysqld
/usr/sbin/mysqld
/usr/sbin/mysqld
/usr/sbin/mysqld
/usr/sbin/mysqld
/usr/sbin/mysqld
/usr/sbin/mysqld
/usr/sbin/mysqld(_Z24plugin_foreach_with_maskP3THDPFcS0_P13st_plugin_intPvEijS3_+0x29c)
/usr/sbin/mysqld(_Z10ha_recoverP7st_hash+0x9f)
/usr/sbin/mysqld
/usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x42d)
/lib64/libc.so.6(__libc_start_main+0xfd)
/usr/sbin/mysqld
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.
2018-06-30 18:43:10 24491 Buffered warning: option 'table_definition_cache': unsigned value 200 adjusted to 400

先停止数据库
service mysqld stop
设置恢复模式
vi /etc/my.cnf
下方增加
innodb_force_recovery = 6
使用恢复模式启动mysql
service mysqld restart
测试密码连接,如果成功按下ctrl+c退出
mysql -uroot -p123456
备份全部数据库表,主要修改你自己的密码:
mysqldump -uroot -p123456 --all-databases> all_mysql_backup.sql

备份原有mysql目录并且删除
service mysqld stop
cp -r /var/lib/mysql/ /var/lib/mysql.bak
rm -rf /var/lib/mysql/*
关闭恢复模式
vi /etc/my.cnf
删除或者注释之前添加的innodb_force_recovery = 6
以正常模式启动mysql
service mysqld restart
给数据库root用户设置密码,例如之前的123456
mysqladmin -u root password 123456
使用之间备份的sql文件恢复数据:
mysql -uroot -p123456 -e "source /root/all_mysql_backup.sql"

然后就修好了,一切恢复正常

页: [1]
查看完整版本: linux mysql数据库启动失败日志 mysqld got signal 6 使用innodb_force_recovery = 6恢复模式备份sql导出还