首页技术教程 正文

怎么对mysql备份数据库与恢复

2023-03-14 8 0条评论
  随着自动化办公与电子商务的不断发展,企业对信息系统的依赖性越来越高,而数据库在信息系统中担任着非常重要的角色。尤其是一些对数据可靠性要求高的行业,如果发生数据丢失,其损失是非常严重的。因此,我们对数据库指定详细的数据库备份与灾难恢复的策略是完全有必要的。一些对数据可靠性要求高的行业,如果发生数据丢失,其损失是非常严重的。因此,我们对数据库指定详细的数据库备份与灾难恢复的策略是完全有必要的。下面就由 新网小编和大家讲一讲怎么对mysql备份数据库与恢复。,
, ,

  随着自动化办公与电子商务的不断发展,企业对信息系统的依赖性越来越高,而数据库在信息系统中担任着非常重要的角色。尤其是一些对数据可靠性要求高的行业,如果发生数据丢失,其损失是非常严重的。因此,我们对数据库指定详细的数据库备份与灾难恢复的策略是完全有必要的。一些对数据可靠性要求高的行业,如果发生数据丢失,其损失是非常严重的。因此,我们对数据库指定详细的数据库备份与灾难恢复的策略是完全有必要的。下面就由新网小编和大家讲一讲怎么对mysql备份数据库与恢复。


  一、数据库备份的一些概念

  1.造成数据丢失的原因

  程序错误、人为操作错误、运算错误、磁盘故障、灾难(火灾、地震)和盗窃等

  2. 数据备份的类型

  1)从物理与逻辑的角度分类

  物理备份可分为:

  冷备份(脱机备份):在数据库关闭状态下进行备份操作

  热备份(联机备份):在数据库处于运行状态时进行备份操作,该备份方法依赖数据库的日志文件

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

  说白了物理备份是对数据库操作系统的物理文件(如数据文件、日志文件等)的备份,这种类型的备份适用于在出现问题时需要快速恢复的大型重要数据库。

  逻辑备份是对数据库逻辑组件(如表等数据库对象)的备份,这种类型的备份使用于可以编辑数据值或表结构较小的数据量,或者在不同的机器体系结构上重新创建数据。

  2)从数据库的备份策略角度分类

  从备份策略可分为:

  完全备份:每次对数据进行完整的备份,即对整个数据库的备份、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。完全备份的备份与恢复操作都非常简单方便,但数据存在大量的重复,并且会占用大量的磁盘 空间,备份时间也很长。

  差异备份:备份那些从上一次完全备份之后被修改过的所有文件,备份的时间节点是从上次完整备份起,备份数据量会越来越大。恢复数据时,只需恢复上次的完整备份与最近一次的差异备份。

  增量备份:只有那些在上次完全备份或者增量备份后被修改的文件才会被备份。以上次完整备份或上次增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份开始到***一次增量备份之间的所有增量一次恢复,如中间某次的备份数据损坏,将导致数据的丢失。

  二、常见的备份方法

  1)物理冷备份

  需要在数据库关闭状态下进行,能够较好的保证数据库的完整性。一般用于非核心业务,这类业务一般都允许终端,物理冷备份的特点就是速度快,恢复操作简单。

  通常通过直接打包数据库文件夹(如:/usr/local/mysql/data)来实现

  2)专用备份工具mysqldump或mysqlhotcopy

  mysqldump是客户端常用逻辑备份程序,能够产生一组被执行以再现原始数据库对象定义和表数据的SQL语句。它可以转储一个到多个MySQL数据库,对其进行备份或传输到远程SQL 服务器。Mysqldump更为通用,因为它可以备份各种表。

  Mysqlhotcopy是由Tim Bunce最初编写和贡献的Perl 脚本。Mysqlhotcopy仅用于备份MyISAM和ARCHIVE表。它只能运行在UNIX或linux上,因为使用范围很小,在这里就不细说了。

  3)通过启用二进制日志进行增量备份

  MySQL支持增量备份,进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制,对执行备份点后进行的数据库更改所需的信息进行恢复。如果进行增量备份,需要刷新二进制日志。

  4)通过第三方工具备份

  Percona XtraBackup是一个免费的MySQL热备份软件,支持在线热备份Innodb和XtraDB,也可以支持MySQL表备份,不过MyISAM表的备份要在表锁的情况进行。由于内容太多,这里就不详细讲解了,有兴趣的话可以查阅该软件的详细介绍了解一下。

  三、MySQL的增量备份与恢复

  1.增量备份的概述

  1)增量恢复的特点

  与完全备份不同,增量备份没有重复数据,备份量不大,时间短;但其恢复麻烦,需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复,MySQL没有提供直接的增量备份办法,可以通过MySQL提供的二进制日志(binary logs)间接实现增量备份。

  2)MySQL二进制日志对备份的意义

  二进制日志保存了所有更新或者可能更新数据库的操作。二进制日志在启动MySQL服务器后开始记录,并在文件达到二进制日志所设置的***值或者接收到flush logs命令后重新创建新的日志文件,生成二进制文件序列,并及时把这些日志保存到安全的存储位置,即可完成一个时间段的增量备份。使用max_binlog_size配置项可以设置二进制日志文件的***值,如果二进制文件的大小超过了max_binlog_size,它就会自动创建新的二进制文件。

  要进行MySQL的增量备份,首先要开启二进制日志功能,开启MySQL的二进制日志功能的实现方法有很多种,最常用的是在MySQL配置文件的mysql项下加入"log-bin=/文件路径/文件名"前缀,如log-bin=/usr/local/mysql/mysql-bin,然后重启MySQL服务,就可以在指定路径下查看二进制日志文件了。默认情况下,二进制日志文件的扩展名是一个六位的数字,如mysql-bin.000001。

  关于增量恢复的操作在这里总结的可能有点笼统,需要通过案例来了解,下个文档我总结一个关于增量备份与恢复的案例我们一起来再详细的了解一下。小伙伴们要想获得更多mysql备份数据库的内容,请关注新网!

文章版权及转载声明

本文作者:亿网 网址:https://edns.com/ask/post/26716.html 发布于 2023-03-14
文章转载或复制请以超链接形式并注明出处。