随着自动化办公与电子商务的不断扩展,企业对于信息系统的依懒性越来越重要,而数据库信息系统中担任着非常重要的角色,,尤其是一些对数据库可靠性要求非常高,列如:银行,证券,电信等,如果发生数据丢失,七损失是非常重要的,为此数据库管理员必须针对具体的业务要求定制详细的数据库备份与灾难恢复的策略,并通过模拟故障对每种可能的情况进行测试,而保障数据的可靠性

一、数据备份的重要性

1:备份的主要目的是灾难恢复,备份还可以测试应用,回滚数据修改,查询历史数据,审计等。

2:在企业中数据的价值至关重要,数据保障了企业的业务的运行,因此数据的安全性及可靠性是运维的重中之重,任何数据的丢失都有可能会对企业产生严重的后果。造成数据丢失的原因如下:

《1》:程序错误

《2》:人为错误

《3》:运算失败

《4》:磁盘故障

《5》:灾难(如火灾、地震)和盗窃

二、数据库备份的类型

1:从物理与逻辑的角度(注:备份可以分为物理备份和逻辑备份)

(1):物理备份:

对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。物理备份又可分为脱机备份(冷备份)和联机备份(热备份)。这种类型的备份使用于出现问题时需要快速恢复的大型重要数据库。

《1》:冷备份:是在关闭数据库的时候进行的

《2》:热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件

《3》:温备份:数据库锁定表格(不可写入但可读)的状态下进行的

(2):逻辑备份:

对数据库逻辑组件(如表等数据库对象)的备份,表时为逻辑数据库结构(create database、 create table等语句)和内容(insert语句或分割文本文件)的信息。这种类型的备份使用于可以编辑数据值或表结构较小的数据量,或者在不同机器体系结构上重新创建数据。

2:从数据库的备份策略角度

(1):备份可分为完全备份、差异备份和增量备份

《1》:完全备份:

每次对数据进行完整备份,即对整个数据库的备份、数据库结构和文件结构的备份,保证的是备份完成时刻的数据库状态,是差异备份与增量备份的基础。

优点:备份与恢复操作简单方便。

缺点:数据存在大量的重复;占用大量的空间;备份与恢复时间长,

《2》:差异备份:

备份那些自从上次完全备份之后修改过的所有文件,备份的时间起点是从上次完整备份起,备份数据量会越来越大。恢复数据时,只需恢复上次的完全备份与最近的一次差异备份。

《3》:增量备份:

只有那些在上次完全备份或者增量备份后被修改的文件才会被备份。以上次完整备份或上次的增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份起到最后一次增量备份依次恢复,如中间某次的备份数据损坏,将导致数据的丢失。

3:常见的备份方法

MySQL数据库的备份可以采用很多种方式,如直接打包数据库文件(物理冷备份),专用备份工具(mysqldump),二进制日志增量备份,第三方工具备份等。

1):物理备份(只有在停库的情况下)

物理冷备份时需要在数据库处于关闭状态下,能够较好的保证数据库的完整性。物理冷备份以用于非核心业务,这类业务都允许中断,物理冷备份的特点就是速度快,恢复时也是最为简单的,通过直接打包数据库文件夹(/usr/local/mysql/data)来实现备份。

 (2):专用备份工具 mysqldump或mysqlhotcopy

Mysqldump和mysqlhotcopy都可以做备份。Mysqldump时客户端常用逻辑备份程序,能够产生一组被执行以再现原始数据库对象定义和表数据的SQL语句。它可以转储一个到多个MySQL数据库,其进行备份或传输到远程SQL服务器。MySQL更为通用,因为它可以备份各种表。Mysqlhotcopy仅适用于某些存储引擎

Mysqlhotcopy是由Tim Bunce最初编写和贡献的Perl脚。Mysqlhotcopy仅用于备份myISAM和ARCHIVE表。只能运行在Unix或Linux操作系统上。

(3):通过启用二进制(binary log, binlog)日志进行增量备份

MySQL支持增量备份,进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制。对执行备份点后进行的数据库更改所需的信息进行备份。如果进行增量备份(包含上次完全备份或增量备份以来发生的数据修改),需要刷新二进制日志。

 (4):通过第三方工具备份

Percona XtraBackup是一个免费的MySQL热备份软件,支持在线备份innodb和XtraDB,也可以支持MySQL表备份,不过MyISAM表的备份要在表锁的情况进行。

《1》:Percona XtraBackup主要的工具:xtrabackup、innobackupex、xbstream

《2》:Xtrabackup:是一个编译了的二进制文件,只能备份innodb/Xtradb数据文件

《3》:Innobackupex:是一个封装了Xtrabackup的Perl脚本,除了可以备份innodb/xtradb之外,还可以备份MyISAM。

《4》:Xbstream:是一个新的组件,能够允许将文件格式转换成xbstream格式或从xbstream格式转到文件格式。

5》:Xtrabackup工具可以单独使用,但推荐使用Innobackupex来进行备份,因为其本身已

经包含了Xtrabackup的所有功能。

《6》:Xtrabackup是基于innodb的灾难恢复功能进行设计的,备份工具复制innodb的数据文件,但是由于不锁表,这样复制出来的数据将不一致,innodb维护了一个重要日志,包含innodb数据的所有改动情况。在xtrabackup备份innodb的数据同时,xtrabackup还有另外一个线程用来监控重做日志,一旦日志发生变化,就把发生变化的日志数据复制走。这样就可以利用重做日志做灾难恢复了。

以上是备份过程,如果我们需要恢复数据,则在准备阶段,Xtrabackup就需要使用之前复制的重做日志对备份出来的innodb数据文件进行灾难恢复,此阶段完成之后,数据库就可以进行重建还原了。

《7》:Percona Xtrabackup对MyISAM的复制是按顺序进行的,先锁定表,然后复制,再解锁表。

Mysql数据备份的概念相关推荐

  1. Mysql数据库的简单备份与还原_史上最简单的MySQL数据备份与还原教程

    本文主要为大家详细介绍了史上最简单的MySQL数据备份与还原教程第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 数据备份与还原第一篇分享给大家,具体内容如下 基础概念: ...

  2. mysql备份psb文件怎么打开_Navicat for MySQL 数据备份教程

    原标题:Navicat for MySQL 数据备份教程 一个安全和可靠的服务器与定期运行备份有密切的关系,因为错误有可能随时发生,由攻击.硬件故障.人为错误.电力中断等都会照成数据丢失.备份功能为防 ...

  3. mysql 镜像备份_手动构建percona-xtrabackup Docker镜像,并实现mysql数据备份

    由于最近项目比较多,并且都需要自己部署运维Mysql,为了保证mysql数据的安全,那么数据备份就必不可少了.之前做mysql数据备份的时候,都是使用的xtrabackup,所以这次也不例外,由于需要 ...

  4. mysql 数据备份

    一:IDE工具介绍 生产环境还是推荐使用mysql命令行, 但为了方便我们测试 可以使用IDE 工具. 掌握 测试+链接数据库. 新建库 新建表,新增字段+类型+约束 设计表:外键 新增查询 备份库. ...

  5. MySQL数据备份命令

    MySQL数据备份命令 一.备份命令 1.备份命令 2.备份压缩 3.备份同个库多个表 4.同时备份多个库 5.备份实例上所有的数据库 6.备份数据出带删除数据库或者表的sql备份 7.备份数据库结构 ...

  6. MySQL数据备份、恢复

    文章目录 一.MySQL日志管理 1.1日志分类 1.2日志配置 1.3日志查询 二.MySQL数据备份 2.1物理备份 2.2逻辑备份 三.常用的备份方法 3.1物理冷备 3.2工具备份(温备) 3 ...

  7. mysql数据备份恢复

    数据备份恢复 一.概述 MySQL数据备份即databases Binlog my.cnf 所有备份数据都应放在非数据库本地,而且建议有多份副本.测试环境中做日常恢复演练,恢复较备份更为重要. 备份: ...

  8. MySQL数据备份与SQL语句

    MySQL数据备份与SQL语句 1.mysql数据库备份与恢复 1.1 数据库常用备份方案 数据库备份方案: 全量备份 增量备份 差异备份 备份方案 特点 全量备份 全量备份就是指对某一个时间点上的所 ...

  9. mysql 数据备份(mysqldump)

    mysql 数据备份(mysqldump) ************************* mysqldump 使用 命令格式 root@7a72b2ffd688:/# mysqldump --h ...

最新文章

  1. 艾伟:FCKeditor 配置、扩展
  2. 多线程解决rospy.spin()语句之后,程序不再往下执行问题
  3. 一个mp4文件分析工具
  4. 读取Exchange的用户未读邮件数3种办法
  5. 百分点发布《数据决策力白皮书》:数据的能量才开始激发
  6. java m2文件放哪里_windows下打开.m2文件夹,没有找到setting.xml
  7. 《Learning OpenCV3》ch18:相机模型与标定
  8. Java编程ture找不到符号,为什么会出现这样的错误呢
  9. 算法(algorithm)、模型(model)与框架(framework)
  10. 前端读者 | 从一行代码里面学点JavaScript
  11. MySQL 使用utf8mb4代替utf8
  12. python控制键盘游戏内无效_关于python的游戏《兔子和獾》代码写到用键盘输入WASD控制兔子移动时,兔子移动不了。但是。。。...
  13. 【JDBC】数据库连接池
  14. 数据库系统概念(中文版)(第6版)pdf
  15. 1.1 电 电流 电压 电路 基本电子元件
  16. 微信修改运动步数卡密源码 每日自助修改
  17. Flutter混合栈管理
  18. WLAN 双链路+HSB高可靠性
  19. 辛瓜地计算机体育英语,体育英语|射箭(Archery)
  20. 怎样设计完整的交易系统(主观交易和程序化交易均可借鉴)

热门文章

  1. 万圣节html代码大全,基于Jquery实现万圣节快乐特效
  2. MFC CStdioFile简单用法
  3. 专访海尔小帅影院创始人马文俊:硬件不是未来 需求才是未来
  4. C语言函数指针和函数的首地址
  5. 以太坊区块链浏览器(一)拿来就用主义
  6. vue脚手架创建项目时的 linter / formatter 配置选择
  7. 创业公司如何应对大公司的冲击
  8. ffmpeg 音频解码一
  9. 安卓开发--运行你的APP
  10. c程序语言中long,C语言long