数据库备份规范

备份方式

1、周期性例行备份
生产数据库例行备份统一使用定时任务备份,备份时间定时到业务低峰期。每天备份一次,保留7天的备份,超过7天的备份包括binlog上传到s3存储上。

2、线上数据库变更前备份。

分为自动变更和手动变更,遵照一下规则备份。
自动变更前备份:
使用自动操作平台archery执行的线上变更,操作前数据库备份有操作平台自动执行。
手动变更前备份:
手动进行线上的变更,通过mysqldump 或者 insert into table_bak_202311121423(命名时间到分钟) select * from table 备份。

备份策略

1、数据分级
依据业务的重要性,可以划分如下几个等级
1、涉及公司收入的数据
2、直接提供线上服务的数据
3、间接提供线上服务的数据。

2、备份频率

一级产品数据备份需要保留1年,二级产品备份需要保留30天,三级产品备份要求7天。

备份对象 最低备份频率 备份方式 最短保留时长 备注
涉及公司收入的数据 每天 全备份+binlog备份 360 1、binlog 备份 2、全库物理备份 3、超过7天的上传到s3存储
直接提供线上服务的数据 每天 全备份+binlog备份 30
间接提供线上数据 一周2次 全备份+binlog备份 7

容灾架构:

1、多可用区部署,提升集群的容灾能力。
2、针对重要的任务,增加延迟从库。防止ddl语句造成误操作,无法恢复,设置延迟从库方法。

恢复演练

根据不通的备份方式,每季度进行一次恢复演练,记录数据大小,恢复时长。

使用binlog2sql进行,恢复测试演练,确保熟悉binlog日志恢复工具。

Redis
redis 缓存后端要有MySQL数据做数据备份,保障在redis故障的时候,可以从MySQL加载数据。

redis数据每天备份一次,保留7天。主要用做故障排查。

修改默认参数

rds 开启 binlog_rows_query_log_events参数,binlog会记录真实执行的sql语句,方便故障排查。

应用层数据备份
有关收入金额的数据表,采用软删除,禁止物理删除数据。 默认添加create_time,update_time,delete_time 公共字段,如果delete_time 不是默认值,表示已经删除。定期把数据归档到归档存储,减少数据体积。

你可能感兴趣的:(MySQL,数据库)