mysql主从复制

作者: Jackong | 来源:发表于2015-05-01 21:37 被阅读146次

    在已有数据基础上实施mysql主从复制备份

    新到公司不久,事故起因于另一开发人员,在实施定期手工备份时,误将导出操作为导入,使数据库被还原于上一次(约半个月前)导出的数据。

    经过查实,发现我们所使用的mysql竟没有开启binlog备份,无从还原。

    这半个月的数据本来就来之不易,更何况作为初创公司,简直致命,如果无法还原,公司很可能面临关门

    幸好,因为使用的是阿里云服务器,它每天定时备份,使得可以将大部分数据恢复。


    至此,该实施自动化备份了。


    自动化备份方案选择:

    • A: 自动定时export数据进行备份(简单粗暴,无法完整恢复)
    • B: 使用binlog,实时备份数据(简单可用,无法灾难恢复)
    • C: 使用master-slave,实时双机备份数据(比较靠谱,双机保障)
    • D: 主主复制(目前没这个必要)或一主多从等其它方案(初创公司资源不多,虽然阿里云机器也不贵)

    综上,采用了方案C:

    • 参考官方文档
    • 在docker上模拟场景(主要是已有数据基础上及数据恢复)进行主从复制研究测试,确保理解无误,方案正确
    • 整理整个操作流程[1],确保思路清晰正确
    • 将大部分操作shell化并测试无误,方便实施时直接使用,避免手误
    • 选定数据操作最少时间段实施方案
    • 虽然模拟场景并测试充分,但方案实施时依然遇到一个插(wen)曲(ti):出现check-sum问题。
    • 原因:我只查看了master机器的mysql版本为5.5.19,于是模拟场景也是基于master和slave都是这个版本进行测试,然而slave上的版本是5.4,无此特性。最后,直接升级slave版本到5.519解决之。

    至此,方案实施完成,并在随便几天连续确认状态是否正常。

    总结

    • 线上数据库部署时,切记开启自动备份机制。
    • 初创公司一般无运维,开发人员应当承担起这份责任。
    • 作为开发者,尽可能让所有可自动化的事情自动化,高效之道也。

    1. 操作流程图 主从同步

    相关文章

      网友评论

        本文标题:mysql主从复制

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