mysql版本:Ver 14.14 Distrib 5.6.26
现象 mysql服务无法启动 一直是 start-post 状态 日志:mysqld got signal 6 提示recovery
推测原因:文件损坏?异常断电?
解决办法:
1、先停掉mysql服务
systemctl stop mysql
vim /etc/my.cnf
添加配置项:
[mysqld]
innodb_force_recovery = 6
2、使用恢复模式重启mysql
systemctl restart mysql
测试数据库连接:mysql -uroot -p123456;
3、备份全部数据库表:
mysqldump -uroot -p123456 --all-databases > all_mysql_backup.sql
4、清除mysql数据(清除之前务必先stop mysql服务):
systemctl stop mysql
cp -r /var/lib/mysql/ /var/lib/mysql.bak
rm -rf /var/lib/mysql/*
正常模式在启动mysql:
vim /etc/my.cnf
注释配置项:
#innodb_force_recovery = 1
再重启:
systemctl restart mysql
5、数据库恢复为以前密码123456:
mysqladmin -u root password 123456
6、使用之间备份的sql文件恢复数据:
mysql -uroot -p123456 -e "source /root/all_mysql_backup.sql"
完毕