Skip to content

linwaterbin/mysql-slave-self-healing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mysql-slave-self-healing

MySQL Slave故障自愈

1、项目背景:

1.1、对主备数据一致性要求较高的场景,比如腾讯游戏存储的是玩家数据,备库开放给各种周边系统查询。当slave故障,我们希望备库能够安全地自动修复。

1.2、该项目核心修复逻辑是想通过Percona的开源工具:pt-slave-restart来完成,但显然,该工具存在不足。目前只模糊的定义了3种修复模式,分别是SQL语法错误、MyISAM表损坏以及中继日志的损坏,除此之外,其他一切错误都是通过sql_slave_skip_counter来完成,简单且粗暴,对数据的一致性造成成吨伤害。

1.3、业界同行对主备故障的修复经验值得积累,如果每个DBA都将这些经验沉淀到这个工具中,前人栽树,后来者只要部署下这个工具即可,把时间用去对业务、对自己更有帮助的事情上,送人玫瑰,手留余香,岂不快哉?

2、怎么参与?

虽然该工具接近6千多行代码,但逻辑比较清晰,只要你是DBA,并且会一点Perl,那么你只需要:

2.1、找到数组 @error_patterns,定义你遇到过的case

2.2、找到哈希 %actions,写下你的处理经验

希望这是件有意义的事情 :)

About

MySQL Slave故障自愈

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages