zoukankan      html  css  js  c++  java
  • mysql中的备份(backup)和恢复(recovery)

    (一)备份类型(backup type)

    物理和逻辑备份(Physical Versus Logical Backup)

            物理备份是指直接复制存储数据库内容的目录和文件,这种类型的备份适用于出现问题时需要快速恢复的大型重要数据库。

            逻辑备份保存以逻辑数据库结构(create database、create table)和内容(insert 语句)表示的信息,也就是保存的是创建数据库、创建表和插入数据的sql语句。这种类型的备份适用于较小数量的数据,可以在其中编辑数据值或表结构,或者在不同的机器架构上重新创建数据。

    物理备份特点如下:

    (1)备份由数据库目录和文件副本组成,通常是MySQL整个或者部分数据目录;

    (2)物理备份比逻辑备份要快,因为它只是复制文件,并不需要做什么转化;

    (3)比逻辑备份更紧凑或者压缩性更好;

    (4)因为备份速度和紧凑性对于繁忙、重要的数据库非常重要,MySQL企业版执行物理备份;

    (5)备份的粒度范围从整个数据目录的级别到各个文件的级别。这可能提供表级粒度,也可能不提供,这取决于存储引擎。例如,InnoDB表可以单独存储在一个文件中,也可以与其他InnoDB表共享文件存储空间;每个MyISAM表只对应于一组文件。

    (6)除了数据库之外,备份还可以包括任何相关文件,如日志或配置文件。

    (7)以这种方式备份内存表中的数据比较困难,因为它们的内容并不存储在磁盘上。

    (8)备份只能移植到具有相同或类似硬件特征的其他机器上;

    (9)可以在MySQL服务器不运行时执行备份。如果服务器正在运行,则有必要执行适当的锁定,以便服务器在备份期间不会更改数据库内容。MySQL Enterprise Backup自动锁定备份的表;

    (10)物理备份工具包括用于InnoDB或任何其他表的MySQL企业备份的mysqlbackup,或用于MyISAM表的文件系统级命令(如cp、scp、tar、rsync)。

    逻辑备份特点如下:

    (1)逻辑备份工具包括mysqldump程序和SELECT…INTO OUTFILE语句,适用于任何存储引擎,甚至内存;

    (2)在运行MySQL服务器时执行逻辑备份;

    (3)以逻辑格式存储的备份与机器无关,并且具有高度的可移植性;

    (4)备份不包括日志或配置文件,或不属于数据库的其他与数据库相关的文件;

    (5)无论任何存储引擎,备份和恢复粒度可用于服务器级别(所有数据库)、数据库级别(特定数据库中的所有表)或表级别;

    (6)备份的输出比物理备份大,尤其是以文本格式保存时;

    (7)和物理备份相比,要慢些,因为服务器必须访问数据库信息并将其转换为逻辑格式。如果输出写在客户端,服务器还必须将其发送到备份程序。

    使用mysqldump备份文件:

    数据备份主要分为全量备份和增量备份。

    • 全量备份:每次备份都备份当前系统中的所有数据。
    • 增量备份:备份当前时间点的数据与上次备份时间点数据的差异

    使用mysqldump来实现全量备份。

    使用mysqlbinlog来实现增量备份。

    mysqldump作为重要的MySQL备份工具,功能相当强大。备份参数、恢复策略,需要仔细研究。

    备份数据库:

    备份单个数据库或单个数据库中的指定表:

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

    备份多个数据库:

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

    备份所有数据库:

    mysqldump [OPTIONS] –all-databases [OPTIONS]

  • 相关阅读:
    yum安装出现Error: Package: glibc-headers-2.17-157.el7.x86_64 (centos7.3)类似报错解决方案
    构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境
    安卓扫描条码二维码功能
    安卓格式化日期
    生成k8s join代码
    Delphi ado连接DBF数据
    README-gitlab
    sqlserver查看哪段时间不存在数据
    delphi强制终止进程
    sqlserver启用通过sql语句远程访问权限
  • 原文地址:https://www.cnblogs.com/sensenma533/p/10707352.html
Copyright © 2011-2022 走看看