美文网首页
Mysql 备份与恢复

Mysql 备份与恢复

作者: 小小爱笑 | 来源:发表于2019-06-13 01:04 被阅读0次

备份恢复

数据备份对我们很重要,数据库运行中,可能会发生很多问题。例如:操作系统异常,硬件错误或者用户误删除数据。

在升级数据库版本之前,备份数据也是有必要的。备份的数据可以用于其他系统,或者设置一个分布式的备份数据库。

mysql提供了多种备份策略。 本文包括以下内容:

  • 备份类型: 逻辑 vs 物理 , 全量 vs 增量
  • 备份的方法
  • 恢复的方法
  • 备份的 调度,压缩,加密
  • 表维护以便修复损坏的表

[图片上传失败...(image-a88279-1560359081443)]

类型

逻辑 vs 物理

物理备份会拷贝存储数据库内容的目录和文件。 这适用于在出现问题时需要快速恢复的大型,重要的数据库。

逻辑备份保存的数据是数据库的逻辑结构(CREATE DATABASE, CREATE TABLE 语句) 和内容(INSERT 语句或分割的文件)。
这适用于小型数据库,可以修改数据和表结构或者在其他系统重新创建数据。

物理备份有以下特点:

  • 包含了数据库目录和文件的精确副本。通常是所有或部分mysql data目录
  • 物理备份速度快于逻辑备份,因为它只做文件拷贝,没有转换过程。
  • 输出内容更紧凑,通常是二进制的压缩格式
  • 由于速度和压缩,对于大型繁忙的数据库很重要,mysql的企业级备份产品更倾向使用物理备份。
  • 备份和恢复的粒度从整个数据目录到单个数据文件。是否提供表级别的粒度取决于存储引擎。
    例如InnoDB表可以位于单独的文件中,也可以与其他InnoDB表共享文件存储。每个MyISAM表唯一对应与一组文件。
  • 除数据库外,备份还可以包含相关的log文件,配置文件。
  • 内存表由于不存储在磁盘上,所以很难通过这种方式备份。(mysql企业级备份产品可以在备份时取出数据)
  • 备份仅可以移植到有相同或类似硬件特性的机器上。
  • 备份操作可在mysql server不运行时,如果server在运行中,有必要对数据加入合适的锁,以便于在备份期间数据内容不会发生变化。
  • 物理备份工具包括用于InnoDB或任何其他表的MySQL Enterprise Backup的mysqlbackup,或用于MyISAM表的文件系统级命令(如cp,scp,tar,rsync)。
  • 物理备份恢复的工具包括:MySQL Enterprise Backup恢复工具,ndb_restore 恢复 NDB tables。 在操作系统级别拷贝文件,可以通过将其移动到原始的路径位置下,来实现恢复。

逻辑备份特点:

  • 通过查询mysql server获取数据库结构和内容信息。
  • 速度较慢,因为需要查询数据库,并转换。
  • 输出的结果较大,通常是文本格式文件。
  • 备份恢复的粒度可以是数据库级别,表级别,不受存储引擎影响。
  • 不包括相关的log文件,配置文件。
  • 备份结果以逻辑格式存储,与机器无关,可移植性较高。
  • 可在mysql server运行时,进行备份。server不需要停止。
  • 逻辑备份的工具包括mysqldump程序 和 SELECT ... INTO OUTFILE语句。这些可以在所有存储引擎执行,包括内存。
  • 恢复逻辑备份的数据,可以使用mysql client。如果是多个文件,可以使用LOAD DATA语句或mysqlimport client。

在线 vs 离线

在线备份需要加入适当的锁,以便不会发生会损害备份完整性的数据修改。

离线备份通常用于复制从属服务器,可以脱机不降低系统可用性。

本地 vs 远程

本地是在mysql server的相同主机中进行。 而远程是在另外的主机执行。

全量 vs 增量

以上介绍方法都可以进行全量备份。

增量备份需要开启mysql server的binary log,bin log是server使用,用于记录数据变化的文件。

增量恢复,即时间点恢复基于二进制日志,通常在备份文件完全恢复之后,将备份文件还原到备份时的状态。 然后,在二进制日志文件中写入的数据更改将作为增量恢复应用于重做数据修改,并使服务器达到所需的时间点。


备份方法

Making a Hot Backup with MySQL Enterprise Backup

Making Backups with mysqldump

Making Backups by Copying Table Files

Making Delimited-Text File Backups

Making Incremental Backups by Enabling the Binary Log

Making Backups Using Replication Slaves

Recovering Corrupt Tables

Making Backups Using a File System Snapshot

参考文档

https://dev.mysql.com/doc/refman/8.0/en/backup-types.html
https://dev.mysql.com/doc/refman/8.0/en/backup-methods.html

相关文章

  • mysql数据库备份与恢复

    数据库备份 使用mysql自带备份命令行就可实现数据库备份与恢复 备份全部库 mysql> mysqldump -...

  • Oracle顶级Java技术专家心血之作Effective My

    前言 mysql资深专家ronald bradford撰写的精品书籍《effective mysql之备份与恢复》...

  • mysql备份与恢复

    mysql数据库备份与恢复 一、为什么要备份 二、备份类型 三、备份种类 四、逻辑备份 逻辑备份特点 用法 日常用...

  • RDS MySQL 物理备份文件恢复到自建数据库

    RDS MySQL 物理备份文件恢复到自建数据库 RDS 5.7的物理备份恢复到本地的方法 mysql 备份工具 ...

  • MySQL(六 数据备份,pymysql模块),数据库远程连接

    MySQL数据备份 一、mysqldump实现逻辑备份 二、恢复逻辑备份 三、备份/恢复案例 四、实现自动化备份 ...

  • MySQL备份与恢复

    准备工作 用docker启动mysql,同时创建名为my_db的数据库: 在docker host机器上,登录my...

  • MySQL备份与恢复

    MySQL备份与恢复的解决方案 目录: 1、为什么要进行备份 2、备份的类型 3、备份需要考虑的因素 4、需要备份...

  • mysql备份与恢复

    假设服务器上有以下内容: 注意:aaa,bbb都是database,不是数据表.想要备份出里边的aaa 会生成一个...

  • MySQL备份与恢复

    一.备份的类型 1.热备 2.温备 3.冷备 二.备份的方式 2.1逻辑备份 基于SQL语句的备份 1)binlo...

  • MySQL备份与恢复

    MySQL 日志 错误日志 编辑配置文件 查看方式 一般查询日志 慢日志 默认是否开启:关闭 如何开启: 模拟慢查...

网友评论

      本文标题:Mysql 备份与恢复

      本文链接:https://www.haomeiwen.com/subject/lujyxctx.html