由于mysql存在多种数据库备份方式,而且各有利弊,对于我们初学者来说,选择合适的备份方式确实有些困难。个人觉得,首先要基于公司的需求,考虑能够容忍丢失多少数据、花多少人力时间成本等,这是我们制定备份方案的依据,同时制定出来的方案要可执行,要执行,不能把方案当作纸上谈兵。下面我把我们实际的备份方案整理出来供大家参考交流。

作为数据安全的一个重要内容——数据备份的重要性却往往被人们所忽视。只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失,有时造成的损失是无法弥补与估量的。结合我们公司线上业务的实际情况,来说说我们的备份方案,当前主要采取全备+binlog备份方式。其中全备分为逻辑备份+物理备份,同时主从复制也作为一种备份的方式存在,从而最大程度降低数据故障带来的风险。

一 数据备份部分

1 逻辑备份

  • 应用场景

逻辑备份,我们主要用在当数据量较小时,数据库出现数据故障,对于恢复时间要求不高;搭建主从环境,搭建测试环境及备用库等方面。

  • 备份时间及地点

每日凌晨3:10在从库上备份,备份文件存放在从库上的/data/backup/fullbackup,当然如果有充足的机器,更安全的方式是备份到远程服务器。

  • 备份方式

采用mysqldump进行全库备份,通过定时任务,定时执行shell备份脚本。这里就不提供了。

2 物理备份

  • 应用场景

主要应对要求恢复时间较高;数据量比较大;

  • 备份时间及地点

每周一凌晨3:10在主库上备份。备份文件存放远程服务器目录下

  • 备份方式

采用percona的社区工具innobackupex,该工具可以在线热备,不影响线上的业务。

以上两种方式的备份只能恢复某段时间的数据,对于按照时间点的恢复是无能为力的,那怎么办呢?binlog日志,是的,我们采取的是实时同步binlog日志到远程服务器上,这样理论上是可以恢复到任意时间点的。

3 binlog备份

  • 应用场景

对于一些由于错误操作等造成数据丢失错误的,需要按照时间点进行还原的情况下。

  • 备份时间及地点

备份服务器实时将主库上binlog同步到远程服务器上。

  • 备份方式

mysqlbinlog工具进行日志拉取,shell脚本如下:

mysqlbinlog  --read-from-remote-server --host=1.1.1.1 --port=3306 --user="backup" --password="backup" --raw --stop-never mysql-bin.000840  --result-file=/data/backup/binlog/

经过以上三种结合的备份方式,基本上可以满足在数据异常丢失情况下,恢复到正常状态。

4 主从复制

  • 应用场景

主要应用于读写分离,故障转移的情况下

  • 备份时间及地点

几乎可以认为是同步进行数据的复制

  • 备份方式

采用mysql提供的复制技术

对于主从复制,如果用于备库的话,最好是让sql_thread执行慢一段时间,可以是1天。这个结合实际情况,自己选择。

二 数据恢复与测试部分

备份文件有了之后还需要对其定期的进行恢复测试,不然可能是白忙一场。因为很多情况下,有些备份文件可能已经损坏。当我们遇到数据丢失故障时,在紧急关头,竟然发现备份的文件无法恢复或者数据一致性和完整性没有达到要求,如果我们定期的对备份文件进行恢复测试,这种悲剧可能就不会发生。

1    恢复时间及地点

每周进行一次恢复测试,主要在测试机上进行

2    恢复方式

模拟某个时间点主机数据全部丢失,要求恢复到丢失时间点的所有数据,先进行全备恢复,然后根据binlog恢复到最近时间点。

mysql数据库备份策略及应用场景相关推荐

  1. MYSQL数据库备份方法及策略

    MYSQL数据库备份方法及策略 前言 Xtrabackup实战 Percona-xtrabackup 备份实战 ( 1 ) 官网下载Percona-Xtrabackup ( 2 )Percona-xt ...

  2. 2.5.1 MySQL数据库备份恢复基础讲解

    MySQL数据库备份恢复基础 MySQL常见的故障类型 对于用户来说,数据库中保存的数据通常至关重要,所以要采取各种手段来防止各种可能的数据损失和数据故障. DBA主要任务就是维持数据库的高可靠性运行 ...

  3. 企业级MySQL数据库备份方案:增量备份、全量备份、逻辑备份

    一份好的备份方案无非包括以下几点: 为什么需要备份? 备份的方式有哪些? 某几种备份方式的区别在哪? 备份实战操作概述 恢复实战操作概述 其它备注信息 那么,此文将从以上几个角度,结合一些实际的实战经 ...

  4. MySQL数据库备份: mysqldump VS xtrabackup

    MySQL数据库备份工具比较 最近使用了公司的一个项目管理工具进行团队任务管理,本来这个工具使用起来很方便的,但是前几天突然发现最近一段时间做的更新操作全都消失不见了,找工具的运维人员也恢复不回来,感 ...

  5. MySQL的备份策略

    MySQL的备份策略 备份的类型 1.根据服务器的状态分: 2.从对象来分: 3.从数据收集来分: 逻辑备份和物理备份的优缺点 逻辑备份的优点: 逻辑备份的缺点: 备份内容 备份工具 MySQL自带的 ...

  6. 阿里云 mysql 导出数据库备份_导出整个mysql数据库备份

    mysql和mssql的备份和恢复数据的方法 mysql数据库的备份方法可以用 导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] ...

  7. MySQL数据库备份和恢复方案小结

    这两天在调研MySQL数据库的备份和恢复方案,备份对象是对大量Innodb表,或者加上少量的MyISAM表. InnoDB备份常见问题: 文件一致性:数据文件.缓存.日志文件必须保持严格一致.加锁的方 ...

  8. javaweb实现mysql备份功能_java web 实现mysql 数据库备份、恢复

    如题,由于项目需要,研究并实现了java web的 mysql数据库的备份.下载.恢复功能,中间遇到一些问题,耗费了不少时间,下面让我一一道来: 背景介绍: window 7系统 mysql 5.7 ...

  9. mysql备份数据库语句6_13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复...

    扩展 : SQL语句教程 什么是事务?事务的特性有哪些? 根据binlog恢复指定时间段的数据 mysql字符集调整 使用xtrabackup备份innodb引擎的数据库  innobackupex  ...

最新文章

  1. Spark With Mongodb 实现方法及error code -5, 6, 13127解决方案
  2. js获取时间(yyyy-MM-dd HH:mm:ss)
  3. [原] 探索 EventEmitter 在 Node.js 中的实现
  4. boost::container模块实现范围分配器适配器
  5. matlab中degrees,Convert degrees-minutes-seconds to degrees
  6. EsayUI + MVC + ADO.NET(仓储基类)
  7. 不爱跳槽、月薪集中在 8K-17k、五成欲晋升为技术Leader|揭晓中国开发者真实现状
  8. 65lbc184应用电路原理_控制电路设计经验技巧分享
  9. python:将数据写入csv文件
  10. 结构力学计算软件_自主研发|安世亚太通用仿真软件PeraSim提前剧透
  11. blender反选快捷键_【PS】常用操作及快捷键
  12. 揭开宏的神秘面纱:什么是宏,为什么使用宏?
  13. Java实现四则运算
  14. 华为云双十一、双十二系列直播圆满收官,助力企业获数智化发展商机
  15. 怎么判断时double和floatc++_痛心!血肌酐正常却已经肾衰?如何判断肾功能,这些指标更准确...
  16. SpringBoot中注入RedisTemplate实例异常解决
  17. 【数据结构】初识数据结构,十分钟带你玩转算法复杂度
  18. CrashLoopBackOff
  19. 【代码审计】--- php代码审计方法
  20. 时间序列完全教程(R)

热门文章

  1. 安利一款免费的GIF录制软件,好用到飞起,装机必备。
  2. 凯悦旗下中高端酒店品牌逸扉在上海亮相
  3. 海康威视监控云存储服务器,监控设备,云存储服务器,安防监控—年轻人安防官网...
  4. erp故障处理流程图_ERP仓储管理流程图
  5. echart 三维可视化地图_实测三个工具后,我终于找到了地图可视化的神器
  6. swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法
  7. MacOs 更改锁屏快捷键
  8. 分享 | 自定义属于自己的U盘图标
  9. 华为鸿蒙系统适配芯片,华为新平板参数曝光,高通骁龙870芯片加持,首发适配鸿蒙系统...
  10. 腾讯云游戏云服务器具有哪些优点