Mysql数据备份的概念

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

一、数据备份的重要性

      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的复制是按顺序进行的,先锁定表,然后复制,再解锁表。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BK_小小关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值