美文网首页
【MySQL】故障恢复一例

【MySQL】故障恢复一例

作者: 拾荒者charley | 来源:发表于2018-03-21 11:09 被阅读0次

今天早上查看zabbix的时候报错,错误截图如下:


zabbix报错

一看就是数据库有问题,登陆数据库服务器一看,mysqld进程已经没有了,接着查看系统日志,截图如下:


系统日志

可以很清楚地看到,OOM,mysqld进程被kill。
找到问题了,我们调小innodb_buffer_pool_size跟tokudb_cache_size,然后启动数据库。数据库正常启动,但是,前台依旧报错。
我们登录数据库手动查一条数据测试一下看看。

select * from history limit 1;
1033 Incorrect information in file: ‘./mysql/zabbix/history.frm

很可能就是mysqld被意外kill以后造成表损坏,我们手动删除ibdata1跟logfile,然后启动数据库。
启动过程报错,错误大概是这样的:

2014-DD-MM 02:15:16 16414 [Note] Found 1 prepared transaction(s) in TokuDB
2014-DD-MM 02:15:16 16414 [ERROR] Found 1 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit or rollback pending transactions.
2014-DD-MM 02:15:16 16414 [ERROR] Aborting 

那么,我们在配置文件mysqld下增加参数

#innodb_force_recovery = 1

启动时增加参数:

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql  --tc-heuristic-recover=rollback &

ok,数据库正常启动,事务也回滚了。
我们再次修改参数

#innodb_force_recovery = 0

这时,数据库即可正常操作。

相关文章

  • 【MySQL】故障恢复一例

    今天早上查看zabbix的时候报错,错误截图如下: 一看就是数据库有问题,登陆数据库服务器一看,mysqld进程已...

  • MySQL逻辑和物理备份

    MySQL逻辑备份-企业案例 -t:仅备份表结构 -d:仅备份数据 企业故障恢复案例 故障时间点: 周三上午10点...

  • mysql双主+keepalived

    设计MySQL高可用架构的目的是为了避免单点故障,减少因系统故障或者数据库崩溃所造成的恢复或者停机时间,为企业提供...

  • 故障恢复

    Rabbit的负载均衡 使用HAProxy负载均衡 image.png1.server:后台服务器定义...

  • etcd学习笔记(四):恢复

    运维一个etcd集群的一个基本要求是能够故障恢复。etcd有哪些机制支持故障恢复?如何进行故障恢复? 持久化 ex...

  • mysql(十一)

    MySQL逻辑备份-企业案例 -t:仅备份表结构 -d:仅备份数据 企业故障恢复案例 背景:正在运行的网站系统,M...

  • ZABBIX 监控告警模板

    比较简洁漂亮的模板 故障告警模板 故障恢复模板

  • redis持久化

    为了更好应对故障恢复。

  • Hbase 故障恢复

    Distributed log processing is enabled by default since HB...

  • 【拒绝背锅】运维故障处理指南

    1.故障处理原则 故障处理的原则只有两个: 以恢复业务优先 及时升级 1.1 恢复业务优先 恢复业务优先是指,不管...

网友评论

      本文标题:【MySQL】故障恢复一例

      本文链接:https://www.haomeiwen.com/subject/ypmwqftx.html