记一次断电重启mysql报错

本文没有做深入研究,测试环境因断电后导致mysql无法启动。没有准确报错信息,猜测是ibdata1文件损坏。

当然具体问题具体分析。如果你都尝试了别人得办法不行不凡这样试试。

具体报错信息请查看日志 /var/log/mysqld.log 如果你得安装路径与我不一致,详见配置文件

以下恢复步骤

首先先备份/var/lib/mysql 目录下所有文件,以访万一

接着修改mysql配置文件 /etc/my.cnf 添加  这个值 1不行改成2 最高到6 直到启动成功为止

innodb_force_recovery=1
innodb_force_recovery影响整个InnoDB存储引擎的恢复状况,默认值为0,表示当需要恢复时执行所有的恢复操作。
当不能进行有效的恢复操作时,mysql有可能无法启动,并记录下错误日志。
innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。
1:忽略检查到的corrupt页
2:阻止主线程的运行,如主线程需要执行full purge操作,会导致crash
3:不执行事务回滚操作。
4:不执行插入缓冲的合并操作。
5:不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
6:不执行前滚的操作。

然后启动mysql这个时候可以成功启动将所有库表导出

mysqldump -uroot -p  --all-databases > /tmp/all.sql

导出完成后,删除mysql目录下得文件

rm -rf ib_logfile* ibdata1

接着将innodb_force_recovery改成0 或者删除并将mysql目录下非mysql自带得库表删除

然后重启 mysql这个时候应该是能正常启动,启动完成后将所有库表数据导入

mysql -uroot -p

#输入密码后进入mysql终端

source /tmp/all.sql

具体原因未深入追朔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值