MySQL备份

一、 为什么要进行数据备份

为了让数据库数据丢失或者数据库崩坏时,不影响到正常的工作。

二、MySQL备份内容

  1. 数据文件

  2. 日志文件(eg. 事务日志,二进制日志)

  3. 存储过程,存储函数,触发器

  4. 配置文件(各个配置文件都要备份)

  5. 用于实现数据库备份的脚本,数据库自身清理的crontab等

三、 MySQL备份类型

  1. 根据服务器状态来分

    • 热备份:读、写不受影响;

    • 温备份:仅可以执行读操作;

    • 冷备份:离线备份:读、写操作均终止;

  2. 从对象来分

    • 物理备份:复制数据文件;

    • 逻辑备份:将数据导出至文本文件中;

  3. 从数据收集来分

    • 完全备份:备份全部数据;

    • 增量备份:仅备份上次完全备份或增量备份以后变化的数据;

    • 差异备份:仅备份上次完全备份以来变化的数据;

四、MySQL的冷热备份及引擎

  1. 冷热备份

    • 冷备份:
      停止服务进行备份,即停止数据库的写入

    • 热备份:
      不停止服务进行备份(在线)

  2. MySQL的引擎

    • Innodb引擎

      Innodb引擎提供了具有提交、回滚和崩溃恢复能力的事务安全,并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。但是对比MyISAM引擎,写的处理效率会差一些,并且会占用更多的磁盘空间以保留数据和索引。

      InnoDB存储引擎的特点:支持自动增长列,支持外键约束

      热备 √
      温备 √
      冷备 √

    • MyIASM引擎

      它不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有要求或者以select,insert 为主的应用基本上可以用这个引擎来创建表。

      支持3种不同的存储格式,分别是:静态表;动态表;压缩表。

      热备 ×
      温备 √
      冷备 √

    补充2点:

    大容量的数据集时趋向于选择Innodb。因为它支持事务处理和故障的恢复。Innodb可以利用数据日志来进行数据的恢复。主键的查询在Innodb也是比较快的。

    大批量的插入语句时(这里是INSERT语句)在MyIASM引擎中执行的比较的快,但是UPDATE语句在Innodb下执行的会比较的快,尤其是在并发量大的时候。

五、MySQL备份工具

  1. MySQL自带的备份工具

    • mysqldump 逻辑备份工具,支持所有引擎,备份速度中速,还原速度非常非常慢,但是在实现的时候有很大的操作余地,且具有很好的弹性。
      适合中小型数据库。

    • mysqlhotcopy 物理备份工具,只支持MyISAM引擎,基本上属于冷备的范围,速度比较快。

  2. 文件系统备份工具

    • cp冷备份,支持所有引擎,复制命令,只能实现冷备。备份速度块,还原速度几乎最快,但是灵活度很低。可以跨系统,但是跨平台能力很差。
      适合小型数据库,是最可靠的

    • lvm几乎时热备,支持所有引擎,基于快照(lvm,ZFS)的物理备份,几乎是热备。备份速度比较快,还原速度比较快,没有什么弹性空间。
      lvm的限制:不能对多个逻辑卷同一时间进行备份,所以数据文件和事务日志等各种文件必须放在同一个LVM上。
      ZFS则非常好的可以在多个逻辑卷之间备份。

  3. 其他工具

    • ibbackup 商业工具,备份和还原速度都很快,需付费。

    • xtrabackup开源工具,是ibbackup商业工具的替代工具。

    • mysqlbackup 是ORACLE公司提供的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值