mysql备份与恢复

数据备份的重要性

在生产环境中,数据的安全性至关重要,任何数据的丢失都可能产生严重的后果,造成数据丢失的原因:

  • 程序错误

  • 人为操作错误

  • 运算错误

  • 磁盘故障

  • 灾难(如火灾、地震)和盗窃

数据库备份的分类

从物理与逻辑的角度,备份可分为:物理备份 和 逻辑备份

1、物理备份:对数据库操作系统的物理文件 (如数据文件日志文件等)的备份
  • 冷备份(脱机备份):是在关闭数据库的时候进行的备份

  • 热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件

  • 温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作

2、逻辑备份:对数据库逻辑组件(如:表等数据库对象)的备份
  • 完全备份:每次对数据库进行完整的备份 

  • 差异备份:备份自从上次完全备份之后被修改过的文件

  • 增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份

MySQL完全备份与恢复

        特点:每次进行完全备份,这样会导致备份文件占用空间巨大,并且会有大量的重复数据

        恢复时,直接使用备份的文件即可

MySQL差异备份与恢复

        特点:差异备份,都会备份上一次完全备份之后的数据,可能会出现备份重负的数据,也会导致占用额外的磁盘空间

        恢复时,先恢复完全备份的数据,再恢复差异备份的数据

MySQL增量备份与恢复

        特点:每次增量备份都是上一次完全备份数据增量之后的数据,不会出现备份重复数据的情况,也不会占用额外磁盘空间

       恢复时,需要按次序,完全备份—>第一次增量—>第二次增量……

常见的备份方法:

物理冷备
  • 备份时数据库处于关闭状态,直接打包数据库文件。

  • 备份速度快,恢复时也是最简单的

专用备份工具mydump或mysqlhotcopy
  • mysqldump常用的逻辑备份工具

  • mysqlhotcopy仅拥有备份MyISAM和ARCHIVE表-

启用二进制日志进行增量备份
  • 进行增量备份,需要刷新二进制日志

第三方工具备份
  • 免费的MySQL热备份软件Percona XtraBackup

物理冷备份与恢复:
  • 关闭MySQL数据库

  • 使用tar命令直接打包数据库文件夹·直接替换现有MySQL目录即可

mysqldump备份与恢复:
  • MySQL自带的备份工具,可方便实现对MySQL的备份·

  • 可以将指定的库、表导出为SQL脚本

  • 使用命令mysql导入备份的数据

mysqldump完全备份:

1、完全备份一个或多个完整的库(包括库下面的所有表)

2、完全备份中,备份mysql中所有的库

3、完全备份中,指定库中的某张表或部分表(根据需求)

增量恢复包含:

1、一般恢复
  • 普通恢复 使用二进制文件恢复

2、断点恢复
  • 基于位置点恢复

    如单独使用
  • --stop-poistion #之前所有数据进行恢复

  • --start-poistion #之后所有数据进行恢复

    组合使用:
    例:--start-poistion='20' #开始 --stop-poistion='50' #结束 
        表示只恢复20开始的数据到50的数据结束
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
3、时间点恢复
  • 基于时间点恢复

    单独使用
  • --stop-poistion  

  • --start-poistion  

    组合使用:
    例:--start-poistion=‘2023-08-29 16:00:15’ #开始 --stop-poistion=‘2023-08-29 16:15:16’ #结束
          只恢复2023-08-29 16:00:15的数据到52023-08-29 16:14:16数据结束

你可能感兴趣的:(mysql,数据库)