记一次停电引起的mysql无法启动

  • 设置恢复等级
innodb_force_recovery = 0
       1 (SRV_FORCE_IGNORE_CORRUPT)
       即使服务器检测到损坏的页仍让它运行。试图使SELECT* FROM tbl_name跳过损坏的索引记录和页,这样有助于转储表。
       2 (SRV_FORCE_NO_BACKGROUND)
       阻止主线程和任何清除线程的运行。如果崩溃会在清除操作中发生,该恢复值会阻止它。
       3 (SRV_FORCE_NO_TRX_UNDO)
       不要在崩溃恢复后运行事务回滚。
       4 (SRV_FORCE_NO_IBUF_MERGE)
       阻止插入缓冲合并操作。如果它们会导致崩溃,不要做这些。不计算表统计。这个值可以永久损坏数据文件。使用这个值后,准备号删除并重建所有辅助索引。在MySQL5.6.15中,设置InnoDB为只读。
       5 (SRV_FORCE_NO_UNDO_LOG_SCAN)
       在启动数据库时不查看撤消日志:InnoDB将即使未完成的事务也作为已提交。这个值可以永久损坏数据文件。在MySQL5.6.15中,设置InnoDB为只读。
       6 (SRV_FORCE_NO_LOG_REDO)
       不要通过恢复对重做日志进行前滚。这个值可能永久损坏数据文件。数据库页被留在一个陈旧的状态,这反过来又可能带给B-trees和其它数据库结构更多的损坏。在MySQL5.6.15中,设置InnoDB为只读。

你可以从表中SELECT来转储它们。innodb_force_recovery的值为3或更低,你可以DROP或CREATE表。在MySQL
5.6.27中,DROP TABLE还受大于3的innodb_force_recovery值支持。
  • 设置恢复等级后重启mysql
  • 备份数据
  • 删除对应的表数据,如果drop表失败,就去删除mysql的data目录中对应的数据库文件
  • 更改恢复等级设置,或者注释掉 重启mysql
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值