MySQL -- 在磁盘爆满后复制的状态
事件:
由于前一天的晚上加班了、第二天又接着上班、所以精神上有点不在状态;收到客户的反馈说在slave上找不到master刚刚插入的数据;
阶段1:
遇到这事的第一感觉就是这可能是主从延时、或是slave的复制出错了使得数据没有同步、于是执行show slave status 查看信息
show slave status ;
发现这东西被卡住了、一直没有返回
阶段2:
发现上面的show slave status没有返回、第一个想法就是“难道cpu这么忙?一个show 都执行不了?”
top
看上去cpu闲的蛋疼
阶段3:
被业务那边提示说好像他们的master磁盘满了、这一下子想起了看一下slave是不是也满了、发现果然是满了
df -h
阶段4:
在磁盘满了的情况下直接purge binary logs to 'xxx'是不会成功的、这个时候要先从磁盘中删除一部分无用的二进制日志、然后再清理
rm -rf mysql-bin.000xxx
purge binary logs to 'mysql-bin.000yyy';
总结:
问题虽然是解决了,但是没有显示出水平,主要问题还是在于处理问题过程中的错误,也就是说在遇到MySQL相关问题的应该先看一下MySQL的
错误日志的;虽然经验有时候特别有用,但是这种东西还是有相当大的不确定性,以后处理问题还是要按流程走,看来自己最近有点膨胀了。
------