在sqlyog进行数据库的备份_MySQL数据库备份与恢复(收藏+1)

MySQL数据库备份与恢复尽管采取了一些管理措施来保证数据库的安全,但是在不确定的意外情况下,总是有可能造成数据的损失。例如,意外的停电,不小心的操作失误等都可能造成数据的丢失。所以为了保证数据的安全,我们需要定期对数据进行备份。如果数据库中的数据出现了错误,就需要使用备份好的数据进行数据还原,这样可以将损失降至最低。MySQL 提供了多种方法对数据进行备份和恢复。数据库为什么需要备份任...
摘要由CSDN通过智能技术生成

05fbe5ef484db53c8a2a7b7e722cd58e.gif

MySQL数据库备份与恢复

尽管采取了一些管理措施来保证数据库的安全,但是在不确定的意外情况下,总是有可能造成数据的损失。

  • 例如,意外的停电,不小心的操作失误等都可能造成数据的丢失。

所以为了保证数据的安全,我们需要定期对数据进行备份。如果数据库中的数据出现了错误,就需要使用备份好的数据进行数据还原,这样可以将损失降至最低。

MySQL 提供了多种方法对数据进行备份和恢复。

数据库为什么需要备份

任何数据库都需要备份,备份数据是维护数据库必不可少的操作。

备份就是为了防止原数据丢失,保证数据的安全。当数据库因为某些原因造成部分或者全部数据丢失后,备份文件可以帮我们找回丢失的数据。

因此,数据备份是很重要的工作。

常见数据库备份的应用场景如下。

数据丢失应用场景:

  • 人为操作失误造成某些数据被误操作

  • 软件 BUG 造成部分数据或全部数据丢失

  • 硬件故障造成数据库部分数据或全部数据丢失

  • 安全漏洞被入侵数据恶意破坏

非数据丢失应用场景:

  • 特殊应用场景下基于时间点的数据恢复

  • 开发测试环境数据库搭建

  • 相同数据库的新环境搭建

  • 数据库或者数据迁移

以上列出的是一些数据库备份常见的应用场景,数据库备份还有其它应用场景,这里就不一一列举了。

比如磁盘故障导致整个数据库所有数据丢失,并且无法从已经出现故障的硬盘上面恢复出来时,可以通过最近时间的整个数据库的物理或逻辑备份数据文件,尽可能的将数据恢复到故障之前最近的时间点。

操作失误造成数据被误操作后,我们需要有一个能恢复到错误操作时间点之前的瞬间的备份文件存在,当然这个备份可能是整个数据库的备份,也可以仅仅只是被误操作的表的备份。

MySQL备份类型

备份是以防万一的一种必要手段,在出现硬件损坏或非人为的因素而导致数据丢失时,可以使用备份恢复数据,以将损失降低到最小程度,因此备份是必须的。

备份可以分为以下几个类型。根据备份的方法(是否需要数据库离线)可以将备份分为:

  • 热备(Hot Backup)

    • 完全备份:是指对数据库进行一个完整的备份,即备份整个数据库,如果数据较多会占用较大的时间和空间。

    • 部分备份:是指备份部分数据库(例如,只备份一个表)。部分备份又分为:

    • 增量备份需要使用专业的备份工具。指的是在上次完全备份的基础上,对更改的数据进行备份。也就是说每次备份只会备份自上次备份之后到备份时间之内产生的数据。因此每次备份都比差异备份节约空间,但是恢复数据麻烦。

    • 差异备份指的是自上一次完全备份以来变化的数据。和增量备份相比,浪费空间,但恢复数据比增量备份简单。

    • 逻辑备份:在 MySQL 数据库中,逻辑备份是指备份出的文件内容是可读的,一般是文本内容。内容一般是由一条条 SQL 语句,或者是表内实际数据组成。如 mysqldump 和 SELECT * INTO OUTFILE 的方法。这类方法的好处是可以观察导出文件的内容,一般适用于数据库的升级、迁移等工作。但其缺点是恢复的时间较长。

    • 裸文件备份:裸文件备份是指复制数据库的物理文件,既可以在数据库运行中进行复制(如 ibbackup、xtrabackup 这类工具),也可以在数据库停止运行时直接复制数据文件。这类备份的恢复时间往往比逻辑备份短很多。

    • 热备份可以在数据库运行中直接备份,对正在运行的数据库操作没有任何的影响,数据库的读写操作可以正常执行。这种方式在 MySQL 官方手册中称为 Online Backup(在线备份)。

    • 按照备份后文件的内容,热备份又可以分为:

    • 按照备份数据库的内容来分,备份又可以分为:

  • 冷备(Cold Backup)

    • 冷备份必须在数据库停止的情况下进行备份,数据库的读写操作不能执行。这种备份最为简单,一般只需要复制相关的数据库物理文件即可。这种方式在 MySQL 官方手册中称为 Offline Backup(离线备份)。

  • 温备(Warm Backup)

    • 温备份同样是在数据库运行中进行的,但是会对当前数据库的操作有所影响,备份时仅支持读操作,不支持写操作。

MySQL 中进行不同方式的备份还要考虑存储引擎是否支持,如 MyISAM 不支持热备,支持温备和冷备。而 InnoDB 支持热备、温备和冷备

一般情况下,我们需要备份的数据分为以下几种:

  • 表数据

  • 二进制日志、InnoDB 事务日志

  • 代码(存储过程、存储函数、触发器、事件调度器)

  • 服务器配置文件

下面是几种常用的备份工具:

  • mysqldump:逻辑备份工具,适用于所有的存储引擎,支持温备、完全备份、部分备份、对于 InnoDB 存储引擎支持热备。

  • cp、tar 等归档复制工具:物理备份工具,适用于所有的存储引擎、冷备、完全备份、部分备份。

  • lvm2 snapshot:借助文件系统管理工具进行备份。

  • mysqlhotcopy:名不副实的一个工具,仅支持 MyISAM 存储引擎。

  • xtrabackup:一款由 percona 提供的非常强大的 InnoDB/XtraDB 热备工具,支持完全备份、增量备份。

MySQL热备份及恢复

热备份是在数据库处于运行状态时直接备份,不影响现有业务的正常进行。热备份又细分为逻辑备份和裸文件备份,

逻辑备份

逻辑备份的最大优点就是对于各种存储引擎,都可以用同样的方法来备份。而冷备份则不同,不同的存储引擎的备份方法也各不相同。因此,对于不同存储引擎混合的数据库,用逻辑备份会更简单一些。

逻辑备份可以说是最简单,也是目前中小型系统最常用的备份方法。逻辑备份主要有以下几种方法:

mysqldump

mysqldump 是 MySQL 自带的逻辑备份工具。它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,然后将查询出的数据转换成对应的 INSERT 语句。当我们需要还原恢复这些数据时,只要执行这些 INSERT 语句,就能将对应的数据还原。所以有的资料也将这种备份方式称为 INSERT 备份。

恢复数据时可以使用 mysql -uroot -p  直接调用备份文件执行所有命令,将数据完全恢复到备份时候的状态。如果已经连接上了 MySQL 服务器,那么可以通过 source /path/b

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值