MySQL 集群备份2-功能分析

Posted 从删库到宕机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 集群备份2-功能分析相关的知识,希望对你有一定的参考价值。

角色划分

控制节点:调度备份任务的节点

数据库节点:需要执行备份的数据库服务节点

存储节点:统一存放备份文件的节点(参考),可以是文件系统或者存储

备份验证节点:恢复备份文件,验证备份的有效性

备份ID说明 

1.mysqldump或Percona Xtrabackup每次创建的备份都有一个备份ID,mysqldump 每次备份都是独立的一个备份集, xtrabackup的增备+全备是一个独立的备份集


1.mysqldump备份功能分析

1.mysqdump备份包括的选项:备份主机、备份数据库、备份表、存储节点、存储路径、是否使用压缩、压缩等级(前提:使用压缩)、是否单库存放. 
2.每次备份产生一个备份id,使用id命名存储目录,一个id对应一个备份集 
3.mysqldump的备份文件分为数据文件、表结构文件、存储过程和触发器文件 
4.压缩功能默认开启,压缩等级为 gzip-6,mysqldump备份时使用默认参数 --single-transaction(防止锁表) 和 --master-data=2(输出binlog的文件和position)

mysqldump备份选项说明

mysqldump备份文件类型说明


2.Percona Xtrabackup备份功能分析

1.备份选项包括:备份方式、备份主机、备份数据库、存储节点、存储路径、并发线程、IO限流(单位:iops)、网络限流(使用远程备份时使用)、是否使用压缩、压缩等级(前提:使用压缩)、是否使用备份锁 
2.每次备份产生一个备份id,使用id命名备份目录 
3.默认开启压缩,压缩等级为 gzip-6

xtrabackup备份选项说明


3.Binglog备份 功能分析

原则:保证Binlog 文件的可用性,用于point in time的恢复,合理的设置expire_logs_days参数 
说明:binlog文件用户恢复 备份时间到故障时间内的数据

4.验证备份 功能分析

1.指定备份ID进行验证,执行简单的select查询验证备份数据的可用性 
2.通过界面展示验证结果 
3.监控验证结果,验证出错后进行告警

mysqldump备份验证思路

1.检查备份验证节点上的磁盘空间和数据库实例的运行状态。 
2.将备份文件复制到备份验证节点。 
3.将mysqldump备份的表结构文件用到备份验证节点的数据库实例。 
4.将mysqldump备份的数据文件应用到备份验证节点的数据库实例。 
5.将存储过程和触发器的备份文件应用到备份验证节点的数据库实例。 
6.登陆数据库执行select 操作

xtrabackup备份验证思路

1.检查备份验证节点上的磁盘空间和数据库实例的运行状态。 
2.将备份文件复制到备份验证节点 
3.恢复备份文件。 
4.启动数据库,登陆数据库执行select 操作

5.计划备份功能分析

1.自定义周期创建备份任务/备份验证任务 
2.支持删除和修改备份任务/备份验证任务 
3.备份任务通过界面展示 
4.备份验证任务通过界面 
5.监控备份任务,备份任务失败进行告警 
6.监控验证任务,验证出错后进行告警

任务周期选项说明

1.高级模式 
按照linux crontab的格式设置周期:Minute/Hour/Day/Month/Weekday 
2.简单模式

  • 每天 at {时}:{分}

  • 每周 on {周一/周二/周三/周四/周五/周六/周日} at {时}:{分}


以上是关于MySQL 集群备份2-功能分析的主要内容,如果未能解决你的问题,请参考以下文章

MySQL架构备份

Shell编程概览

Redis数据库备份、迁移、恢复实践

MYSQL备份:启用二进制日志功能的MYSQL增量备份

十四linux-MySQL的数据库集群读写分离及高可用性备份等

沃趣QFusion-备份与还原