linux Mysql 备份与还原

数据库是企业中非常重要的部分,数据是企业的根本,不可丢失的,需要备份和还原。

目录

一、数据备份的重要性

二、数据库备份类型

三、常见的备份方法

四、MySQL完全备份

五、数据库完全备份分类  

六、实战案列

七、总结

 

 

 

一、数据备份的重要性

    1.数据备份的重要

      数据备份是将数据从一处存储到另一处的过程,以防止数据丢失或损坏。数据备份的重要性在于:

    1. 防止数据丢失:数据备份可以保护数据免受硬件故障、病毒攻击、自然灾害、人为错误等因素的影响,避免数据丢失。

    2. 恢复数据:如果数据因某种原因丢失或损坏,备份数据可以用来恢复原始数据,确保业务正常运转。

    3. 数据完整性:数据备份可以确保数据的完整性,避免数据被篡改或损坏。

    4. 合规性要求:某些行业和法规要求数据备份,以确保数据安全和完整性。

    5. 业务连续性:对于企业和组织,数据备份可以保证业务的连续性,避免因数据丢失而导致业务中断或损失。

    总之,数据备份是保护数据安全和完整性的重要手段,对于个人和组织都具有重要的意义。

 

二、数据库备份类型

    1.物理备份      

    物理备份是指将数据备份到物理介质的过程,例如磁带、光盘、硬盘等。物理备份通常在定期时间间隔内进行,以确保备份数据的及时性和完整性。

      (1)物理备份的优缺点

      1. 可靠性高:物理备份使用的介质稳定可靠,能够长期保存备份数据。

      2. 速度快:物理备份可以在较短的时间内完成备份过程。

      3. 灵活性强:可以选择不同的备份介质,根据实际需求进行备份。

      4. 可移植性好:备份介质可以轻松地携带和存储,方便在不同设备之间进行数据迁移。

      然而,物理备份也存在一些缺点。首先,物理备份需要使用专门的备份介质,需要购买和维护备份设备,增加了成本和复杂性。其次,物理备份可能会受到介质老化、损坏、丢失等因素的影响,导致备份数据不完整或无法恢复。

      (2)物理备份的分类   

      1. 冷备份(脱机备份):冷备份是在系统处于离线状态下进行的备份,备份介质通常是磁带、光盘等脱机介质。由于备份时系统处于离线状态,因此备份过程不会对系统造成影响。冷备份适用于大型系统或需要备份大量数据的情况,可以保证备份数据的完整性和可靠性,但备份过程需要较长的时间。

      2. 热备份(连接备份):热备份是在系统在线状态下进行的备份,备份介质通常是硬盘、磁带库等在线介质。由于备份时系统仍在运行,因此备份可能会对系统性能产生一定影响,但备份速度较快。热备份适用于需要频繁备份、数据量较小的情况,可以快速恢复数据,但备份数据可能存在一定的风险。

      3. 温备份:温备份是介于冷备份和热备份之间的备份方式,既不需要将系统完全离线,也不会对系统性能产生较大影响。温备份通常使用磁带库、硬盘阵列等介质,备份速度较快,备份数据的可靠性和恢复速度也较高。

    2.逻辑备份

      (1)逻辑备份优缺点        

      1. 灵活性强:逻辑备份可以备份特定的数据表、文件夹或文件,而不需要备份整个存储介质,备份的数据可以还原到不同的服务器上。

      2. 安全性高:逻辑备份可以备份数据前先对数据进行加密,保证备份数据的安全性。

      3. 恢复速度快:逻辑备份可以只还原需要的数据,而不需要还原整个物理介质,恢复速度较快。

      4. 可以进行增量备份:逻辑备份支持增量备份,只备份最近更改的数据,可以节省备份时间和存储空间。

    逻辑备份也存在一些缺点。首先,备份和恢复速度通常比物理备份慢。其次,备份过程中可能会对系统性能产生一定影响。最后,逻辑备份可能无法备份系统文件或操作系统数据,因此需要结合其他备份方式进行完整备份。

     (2)逻辑备份的分类

        1.完全备份

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

 

         2.差异备份 

          备份那些自从上次完全备份之后被修改过的所有文件,备份的时间节点是从上次完整备份起,备份数据量会越来越大。恢复数据时只需要恢复上次的完全备份与最佳的一次差异备份。每次差异备份,都会备份上一次完全备份之后的数据,可能会出现重复数据。恢复时,先恢复完全备份的数据,再恢复差异备份的数据。

 

         3.增量备份         

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

每次增量备份都是备份在上一次完全备份或者增量备份之后的数据,不会出现重复数据的情况,也不会占用额外的磁盘空间 恢复数据,需要按照次序恢复完全备份和增量备份的数据

     ps:企业中一周一次的全备,全备的时间需要在不提供业务的时间区间进行 PM 10点 AM 5:00之间进行全备 增量:3天/2天/1天一次增量备份 差异:选择特定的场景进行备份

三、常见的备份方法

    1.物理冷备

      备份时数据库处于关闭状态,直接打包数据库文件(tar) 备份速度快,恢复时也是最简单的

    2.工具mysqldump或mysqlhotcopy

        mysqldump 常用的逻辑备份工具

           mysqlhotcopy 仅拥有备份 MyISAM 和 ARCHIVE 表

    3.二进制日志还原

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

      MySQL支持增量备份,进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制,对执行备份点后进行的数据库更改所需的信息进行恢复。如果进行增量备份(包含自上次完全备份或增量备份以来发生的数据修改),需要刷新二进制日志。

    4.三方工具备份

      免费的MySQL 热备份软件 Percona XtraBackup mysqlbackup

四、MySQL完全备份

  1.mysql完全备份 

    (1)是对整个数据库、数据库结构和文件结构的备份

    (2)保存的是备份完成时刻的数据库

    (3)是差异备份与增量备份的基础

  2.MySQL完全备份优缺点

    优点: 备份与恢复操作简单方便

    缺点: ​ 数据存在大量的重复 ​ 占用大量的备份空间 ​ 备份与恢复时间长

 

五、数据库完全备份分类

  1.物理冷备份与恢复

    (1)关闭MySQL数据库

    (2)使用tar命令直接打包数据库文件夹

    (3)直接替换现有MySQL目录即可

  2.mysqldump备份与恢复

    (1)MySQL自带的备份工具,可方便实现对MySQL的备份

    (2)可以将指定的库、表导出为SQL 脚本

    (3)使用命令mysq|导入备份的数据

 

六、实战案列

    1.MySQL完全备份与恢复

 

      (1)物理冷备份与恢复

        备份

        移除data文件

         数据库已经进入不了

       恢复

     可用进入还原成功

       (2)mysqldump 备份与恢复(温备份)

          (1)完全备份一个或多个完整的库 (包括其中所有的表)

          

           已经删除

       第一种还原

       还原成功

       第二种还原命令

       (2)完全备份 MySQL 服务器中所有的库

          备份

          删除数据库zhan

       还原

       还原成功

     (3)完全备份指定库中的部分表

        备份数据库种表

       删除表

       还原成功

 

 

     第二种方法还原

   2.MySQL 增量备份与恢复

      (1)恢复方法

        1.一般恢复

          将所有备份的二进制日志内容全部恢复

        2.基于位置恢复

         数据库在某一时间点可能既有错误的操作也有正确的操作 可以基于精准的位置跳过错误的操作 发生错误节点之前的一个节点,上一次正确操作的位置点停止

        3.基于时间点恢复

           跳过某个发生错误的时间点实现数据恢复 在错误时间点停止,在下一个正确时间点开始

      (2)开启二进制日志功能

        开启二级制日志(#二进制日志(binlog)有3种不同的记录格式: STATEMENT (基于SQL语句)、ROW(基于行)、MIXED(混合模式),默认格式是STATEMENT

 

 

 

       看到二级制日志文件

       (3)查看二级制日志文件

     (4)二级制进行完全备份

      (增量备份时基于完全备份的,所以我们直接完全备份数据库)

      备份

       删除数据库表

       还原

       还原成功

     (5)刷新二级制日志文件

        刷新新的操作

     (6)一般恢复

      插入文件内容

     查看二级制日志文件

       删除整张表

       恢复

     (7)断点恢复

        查看二级制日志找到点

       还原从302到723

     还原成功

     (8)基于时间点恢复

      查看二级制日志文件找到时间

       还原成功

     还原成功

 

七、总结 

   MySQL备份是指将数据库的数据和结构复制到另一个位置,以便在数据丢失或损坏时恢复数据。MySQL还原是指将备份的数据和结构恢复到原始数据库中。备份和还原是MySQL数据库管理中最重要的任务之一。备份和还原是MySQL数据库管理中必不可少的任务,因为它们可以确保数据的安全性和完整性。定期备份可以保护数据免受意外删除、硬件故障或恶意攻击的影响。还原可以让您在发生数据损坏或丢失时快速恢复数据。

 
 

 

    

posted @ 2023-07-17 20:03  纸签  阅读(17)  评论(0编辑  收藏  举报