记一次奇怪的mysql从库故障处理

339 阅读2分钟
原文链接: click.aliyun.com

记一次奇怪的mysql从库故障处理

wwwgood2012 2018-09-11 09:24:41 浏览47 评论0
  • 数据存储与数据库
  • 系统研发与运维
  • mysql
  • 日志
  • LOG
  • 同步

摘要: 一天下午,同事说有一台从数据库出现问题,查明原因是在同步过程中,从库在执行relay log时出现问题,导致大量relay log积压沾满磁盘空间,然后导致mysql整个宕掉。同事一登录就删除了大量的relay log 因为占了接近百G的空间,然后重新同步就出现了下面问题。

一天下午,同事说有一台从数据库出现问题,查明原因是在同步过程中,从库在执行relay log时出现问题,导致大量relay log积压沾满磁盘空间,然后导致mysql整个宕掉。
同事一登录就删除了大量的relay log 因为占了接近百G的空间,然后重新同步就出现了下面问题。
BDA6DF70E15145C2BF88633552E12887

7EBCEB22F1D54C4DB9EE7907DF20D513

同步过程提示找不到relay log 这很正常 删除大量relay log 找到才怪。所以我登录进去首先停止了同步进程,查看了错误日志,如下
3385CBBF165B4167B78A819DA008DC88

这个错误倒也奇怪 mysql.servers无故消失,原因未明。然后我查找了资料,不得已重建了这个表,然后更新了passwd。
CREATE TABLE servers (

    `Server_name` char(64) NOT NULL,
    `Host` char(64) NOT NULL,`Db` char(64) NOT NULL,
    `Username` char(64) NOT NULL,
    `Password` char(64) NOT NULL,
    `Port` int(4) DEFAULT NULL,
    `Socket` char(64) DEFAULT NULL,
    `Wrapper` char(64) NOT NULL,
    `Owner` char(64) NOT NULL,
    PRIMARY KEY (`Server_name`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table';
这时候mysql.servers已经没问题,接下来处理同步问题。由于从节点大量relay log丢失,需要找到中继日志执行的中断点,也就是relay_master_log_file 和exec_master_log_pos,然后执行下面语句即可,别忘了处理同步故障前先停止同步进程哦。
D332BB05885D4ECBADF82C1A0EB75249
BDA6DF70E15145C2BF88633552E12887

用云栖社区APP,舒服~

【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击
分享到:

相关文章

网友评论