导读
作者:田帅萌
知数堂MySQL DBA班第9期优秀学员,现任职知数堂助教
邮箱:tplinux@163.com,欢迎交流、拍转
一、备份的重要性
作为一名合格的MySQL DBA,备份是重中之重。为了保证备份集的安全可靠,除了集中存储以外还有其他更好的方案吗?
当然是有的,可以存储在OSS或者分布式存储上。那么问题来了,如何能够实现自动备份,不需要人工干预即可上传到OSS上,节约大量的时间去悠哉悠哉地喝喝茶、看看报呢?且听下文
二、常见的MySQL备份方式
1、 逻辑备份:常见的逻辑备份MySQLDUMP和MySQLpump;
2、物理备份:常见的物理备份xtrabackup;
3、冷备份:关闭MySQL,拷贝文件,并启动MySQL;
本文重点介绍xtrabackup备份,其他备份姿势建议报个“知数堂”MySQL实战课程,让吴老司机带你飞。
三、xtrabackup原理讲解
附:原理图,来自阿里数据库内核月报:
基本操作:
四、自动备份,并上传到oss上
主要实现目标 :能够实现基于xtrabackup 的MySQL自动化备份,并且上传到OSS上。(ceph暂时不支持 ,需要那位好心的小伙伴提供一个ceph的测试环境,后续就可以支持。)
目录lib下 innodb_backup.py 主要实现:xtrabackup备份和自动apply-log
根目录的index.py主要实现:调用lib下面的innodb_backup下面的函数 并且自动上次到oss上,需要配置oss的认证信息。
根目录test.py 主要实现:下载最新的备份,并且配置启动。目的主要是为了实现自动校验。
关于备份校对,我推荐使用“心跳表”的方式来校对备份。
Ps:关于“心跳表”的知识点,在知数堂培训课程中的“MySQL复制监控”章节会介绍,或者私信田帅萌~
五、注意事项
1、需要单独的物理网络做备份网络,避免在执行备份传输的时候造成网络阻塞,从而影响业务;
2、多个备份同时执行时,需要考虑一个队列问题。避免同时上传,导致网络阻塞,出现本地备份成功,但上传OSS或者ceph却失败的情况。因此,需要设计一个合理的队列并进行限速,先上传核心的库,每次同时上传4个,等待上传成功后再进行下一个队列的传输。
3、本地备份留2天,oss上或者ceph根据空间大小和库的大小自行决定设计。
欢迎各位有想法的或者想要实现更好的备份姿势,请联系我 一起交流~
扫码加入知数堂技术交流QQ群
(群号:579036588)
群内可@各位助教了解更多课程信息
知数堂
叶金荣与吴炳锡联合打造
领跑IT精英培训
行业资深专家强强联合,倾心定制
MySQL实战/MySQL优化 Python/ SQL优化
数门精品课程
紧随技术发展趋势,定期优化培训教案
融入大量生产案例,贴合企业一线需求
社群陪伴学习,一次报名,可学3期
DBA、开发工程师必修课
上千位学员已华丽转身,薪资翻番,职位提升
改变已悄然发生,你还在等什么?
扫码下载知数堂精品课程试听视频
或点击“阅读原文”直达下载地址
(MySQL 实战/优化、Python开发,及SQL优化等课程)
密码:hg3h


转载声明:本文转载自「老叶茶馆」,搜索「iMySQL_WX」即可关注。