首页 >数据库 >mysql教程 >MySQL的备份与恢复简介和使用mysqldump备份MySQL数据库

MySQL的备份与恢复简介和使用mysqldump备份MySQL数据库

WBOY
WBOY原创
2016-06-07 17:32:24931浏览

不同的存储引擎对备份的支持也是不一样的,MyISAM存储引擎可以使用LVM快照功能配合实现热备份,如果没有LVM,则只能实现温备份。

一、备份的类型和其他说明: 1.1 按备份时服务器是否继续提供服务区分:

  • 热备份:备份时读写都不受影响

  • 温备份:备份时仅可进行读操作

  • 冷备份:也叫离线备份,读写操作均中止

  • 不同的存储引擎对备份的支持也是不一样的,MyISAM存储引擎可以使用LVM快照功能配合实现热备份,如果没有LVM,则只能实现温备份。而InnoDB则可以完全支持热备,可使用的热备工具有:xtrabackup, mysqldump等

    从数据的安全角度来说,离线备份(冷备份)是最安全的,且是最快速的。但离线备份需要停止服务,对业务带来影响。如果MySQL服务器存在主从服务器,则可以使用将从服务器停机进行冷备份,即保证服务,又保障数据数据安全。

    1.2 按备份操作方式区分:
  • 物理备份:复制数据文件,特点:速度快

  • 逻辑备份:将数据导出至文本文件中,特点:速度慢、丢失浮点数精度;方便使用文本处理工具直接对其处理、可移植能力强

  • 1.3 按是否备份全部数据还是只备份部分数据区别:

    完全备份:备份全部需要备份的数据

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

    差异备份:仅备份上次完全备份依赖变化的数据

    一般情况下,,根据备份策略组合使用:完全+增量;完全+差异

    1.4 其他说明:

    备份的目的是在灾难发生时用来还原,因此为了保证可以还原,因此需要定期进行恢复测试,另外还需要根据实际情况制定最优的备份和恢复策略

    那么MySQL备份需要备份那些数据呢?

    主要包括:数据、配置文件、二进制日志、事务日志

    二、备份工具介绍: 2.1 MySQL备份工具:
  • mysqldump: 逻辑备份工具、MyISAM(温)、InnoDB(热备份)
    mysqlhotcopy:物理备份工具、温备份

  • 2.2 文件系统工具:

    cp:冷备份

    lv:逻辑卷的快照功能,可以实现几乎热备的功能,备份过程如下:

    mysql> FLUSH TABLES;
    mysql> LOCK TABLES

    然后创建快照:释放锁,而后复制数据

    2.3 第三方工具:
  • ibbackup: 商业工具,备份速度非常快,支持热备份,但同时也非常贵
    xtrabackup: 开源工具

  • 三、使用mysqldump对MySQL进行备份: 3.1 基本语法: 备份单个数据或单个数据中的指定表:

    mysqldump [OPTIONS] database [tb1] [tb2]…

    备份多个数据库:

    mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]

    备份所有数据库:

    mysqldump [OPTIONS] --all-databases [OPTIONS]

    3.2 选项[OPTIONS]说明: --all-databases , -A

    导出全部数据库。

    mysqldump -uroot -p --all-databases

    --all-tablespaces , -Y

    导出全部表空间。

    mysqldump -uroot -p --all-databases --all-tablespaces

    --no-tablespaces , -y

    不导出任何表空间信息。

    mysqldump -uroot -p --all-databases --no-tablespaces

    --add-drop-database

    每个数据库创建之前添加drop数据库语句。

    mysqldump -uroot -p --all-databases --add-drop-database

    --add-drop-table

    每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)

    mysqldump -uroot -p --all-databases (默认添加drop语句)

    mysqldump -uroot -p --all-databases –skip-add-drop-table (取消drop语句)

    更多详情见请继续阅读下一页的精彩内容

    相关阅读:

    Linux下通过mysqldump备份MySQL数据库成sql文件

    Linux中使用mysqldump对MySQL数据库进行定时备份

    mysqldump缺失-q参数导致MySQL被oom干掉

    mysqldump和LVM逻辑卷快照

    MySQL备份方案-->(利用mysqldump以及binlog二进制日志)

    linux

    声明:
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn