精华内容
下载资源
问答
  • Oracle RMAN 备份恢复

    千次阅读 2021-01-07 11:44:08
    这里写目录标题一、RMAN 备份恢复1.RMAN备份(1)连接数据库(2)通道分配(3)RMAN 备份类型(4)BACKUP 命令(5)FORMAT 参数替换变量2.RMAN 恢复(1)数据库进行完全介质恢复(2)表空间的恢复(3)恢复数据文件...


            RMAN (Recovery Manager)是 Oracle 恢复管理器的简称,是集数据库备份(Backup)、还原(Restore)和恢复(Recover)于一体的Oracle数据库备份与恢复工具。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及 Spfile 参数文件,RMAN备份是一种物理的备份,它直接去读取数据块,因此 rman 是块级别的备份。从备份的那个时间点开始RMAN 将锁定此刻的数据文件信息,也就是说只备份数据文件到此刻的信息为止。

    一、RMAN备份

    1.连接数据库

    通过 RMAN TARGET 连接
    在这里插入图片描述
           使用 RMAN 连接本地数据库之前必须首先设置操作系统环境变量:ORACLE_SID,并指定该值等于目标数据库的实例名。如果本地库只有一个实例并已经设置了 ORACLE_SID 环境变量,则不需要再指定ORACLE_SID,RMAN 会自动连接到默认实例。
           如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名( Net Service Name),并且本地的tnsname.ora 文件中必须已经建立了该网络服务名的正确配置


           通过 CONNECTTARGET 连接。
           也可以先启动 RMAN,然后再通过CONNECT 命令来连接目标数据库:
    在这里插入图片描述


    2.通道分配

           通道是指由服务器进程发起并控制目标数据库的文件与物理设备之间的字节流。一个通道即为一个会话,一个会话对应于一个服务器进程。所有的备份和恢复操作都是由 RMAN 连接的服务器进程完成的,更确切的说是由通道完成的。通道的分配主要有两种形式:自动分配通道和手动分配通道。可以根据预定义的配置参数自动分配通道,也可以在需要时手动分配通道。


    自动分配通道。
    自动分配通道是指在执行 RMAN 命令时,不需要显式制定通道的细节就可以使用通道(实际上也是使用预先设置或是使用默认的设置),如果没有手动分配通道,那么 RMAN 在执行 BACKUP 等操作 I/O的命令时将会使用预定义配置中的设置来自动分配通道。
    查看默认的通道设备类型设置:
    在这里插入图片描述
    查看可用的设备类型:
    在这里插入图片描述
    修改设备备份并行度为 2,即备份开始时会使用两个通道进行备份,又还原默认设置值:
    在这里插入图片描述
    査看通道配置并修改通道配置,设置最大备份片的大小为 1G,通道 1 的备份路径为 C: \oracle\bak:
    在这里插入图片描述
    还原通道配置:
    在这里插入图片描述


    手动分配通道:
    分配通道有一个专用命令: ALLOCATE CHANNEL,该命令可以(并且只能)在 RUN 块中出现,在执行 BACKUP、RESTORE 等需要进行磁盘 LO操作的命令时,可以将它们与ALLOCATE CHANNEL 命令放在一个手动分
    配通道。
    使用 RUN 命令手动分配通道。语法为:

    RUN{
    ALLOCATE CHANNEL 通道名称 DEVICE TYPE 设备类型,
    BACKUP
    }
    

    在这里插入图片描述
    RMAN 中执行的每一条 BACKUPRECOVER 等命令都至少要求使用一个通道,通道决定了这些操作执行的并行度,每条ALLOCATECHANNEL 命令对应一个通道,如果需要多个通道,执行多条语句即可。
    手动分配通道后应该在 RUN 结束前释放,可以用 RELEASE CHANNEL 命令,不过不手动释放也没关系,RMAN 会在 RUN 块中任务执行完后自动释放该块中所用的通道。

    3.RMAN 备份类型

    备份集:
           备份集( Backup Set)是 Orac1e 默认的备份类型,把数据文件中已经使用过的数据块备份到一个或多个文件中,这样的文件叫做“备份片”,所有备份出来的文件组合成为“备份集”。备份集与备份片的关系类似于表空间与数据文件的关系,备份集是一个逻辑概念,将备份片(物理文件)逻辑地组织在一起。一般来说一个通道会产生一个备份集,比如启动了 3 个通道,那么每个通道负责生成一个备份集,不过如果启动了控制文件自动备份,那么控制文件所在的备份文件会单独生成一个备份集,不会与数据文件备份集合并在一起。如果在备份时指定了每个备份集中包含的数据文件个数(通过filesperset设置),那么即便只有一个通道,也有可能生成多个备份集。
           备份片( Backup Piece):每个备份片是一个单独的输出文件。一个备份片的大小是有限制的,如果没有大小的限制,备份集就只由一个备份片构成。备份片的大小不能大于你的文件系统所支持的文件的最大值,最大值可以通过 maxpiecesize 设置。
    在这里插入图片描述
           其中在进行控制文件备份以后,会出现一个独立备份集。控制文件和数据文件不能放在同一个备份集里,因为数据文件所在的备份集以 Orac1e 数据块为最小单位,而控制文件所在备份集是以操作系统块作为最小单位。同样的,归档日志文件所在的备份集也是以操作系统块为最小单位,所以归档日志文件备份集和数据文件备份集不能在同一个备份集里面。


    镜像副本:
           镜像副本( Image Copy)与手工系统拷贝备份数据文件类似,是一个数据文件生成一个镜像副本文件(数据库数据文件、归档重做日志或者控制文件的精确副本),不同的是这个过程由 RMAN 完成,RMAN 复制的时候也是一个数据块一个数据块( Orac1e Block)地复制,同时默认检测数据块是否出现物理损坏(默认不会进行逻辑损坏检查,需要手工启动),且不要将表空间置为 begin backup 状态,与备份集类型
    不同在于生成的镜像副本中包含使用过的数据块,也包含从来没有用过的数据块。生成镜像副本的好处在于恢复速度相对备份集来说更快,恢复时可以不用拷贝,指定新位置即可。


    备份集和镜像副本的区别:
           镜像副本是与数据文件( Data file)、控制文件( Control File)或归档重做日志文件(ArchivedLog)完全一致的副本。用户可以使用操作系统工具或 RMAN 创建镜像副本,也能够使用操作系统工具或RMAN 直接利用镜像副本恢复数据库,而无须任何额外处理。备份集是由被称为备份片的一个或多个物理文件构成的,其格式为 RMAN 自有格式。备份机与镜像副本的区别在于,备份集内可以包含多个数据文件,且备份过程中可以进行特殊处理,例如压缩或增量备份( Incremental Backup)等。备份集必须使用 RMAN 来恢复。

    4.BACKUP 命令

           RMAN 中所有的备份操作都是通过 BACKUP 命令(指创建备份集方式的备份)进行的,对于比较简单的备份需求,甚至只需要执行一条命令,下面分别演示通过 BACKUP 命令进行不同级别的备份。
    基本语法:

    BACKUP [backup_option] backup_object
    [PLUS ARCHIVELOG]
    [backup_object_option];
    

    整库的备份:
    在这里插入图片描述

    其中, FORMAT 参数用来自定义备份文件的路径。该备份生成了两个备份文件(如果多个通道,可能是多个文件):一个是存储数据文件,另一个是存储控制文件和参数文件。
    通过 LST 命令来查看创建的全库备份:
    在这里插入图片描述


    备份表空间:
    只要实例启动并处于加载状态,无论数据库是否打开,都可以在RMAN 中对表空间进行备份。使用 BACKUP TABLESPACE 命令备份一个或多个表空间。
    在这里插入图片描述
    通过 LIST 命令查看创建的表空间备份:
    在这里插入图片描述


    备份数据文件:
    有两种方式实现数据文件的备份:一种是通过数据文件名称来备份;另一种是通过数据文件编号指定来备份的数据文件。
    可以通过查询数据字典 DBA_DATA_FILES 来得到数据文件名和数据文件编号。
    在这里插入图片描述
    通过 BACKUP DATAFILE 命令备份 USERS 表空间的数据文件:
    通过文件名称
    在这里插入图片描述
    通过文件编号
    在这里插入图片描述
    查看指定数据文件的备份(datafile后面为数据文件的编号,如果要查看多个,则各个编号之间用逗号隔开):
    在这里插入图片描述


    备份控制文件:
    手动执行备份命令:
    在这里插入图片描述
    改为自动备份:
    在这里插入图片描述
    在 Orac1e11g 中,如果使用了闪回区,那么控制文件的自动备份会存储在闪回区中,有时候为了安全,需要将控制文件的自动备份转移到其他目录下:
    在这里插入图片描述
    上述路径一定要存在否则汇报下面错误:
    在这里插入图片描述

    当备份服务器把 AUTOBACKUP 被置为ON时,RMAN做任何备份操作,都会自动对控制文件做备份。
    查看备份的控制文件:
    在这里插入图片描述


    备份归档重做日志文件:
    通过如下命令来查看归档日志信息:
    在这里插入图片描述
    在这里插入图片描述
    使用 BACKUP ARCHIVELOG 命令备份归档重做日志文件:
    在这里插入图片描述
    执行 BACKUP 命令时可以指定 PLUS ARCHIVELOG 子句来实现备份归档重做日志文件:
    在这里插入图片描述

    以上语句是在备份数据文件之前首先对所有归档文件进行备份。
    完成备份之后,可以通过下列命令查看已备份的归档日志片段:
    在这里插入图片描述


    备份服务器初始化参数文件:
    在进行备份控制文件时,RMAN 会自动备份服务器的参数文件,并置于控制文件相同的备份片段中,因此很少需要单独对 SPFILE 进行备份,如果想单独备份,直接使用 BACKUPSPFILE 命令即可。
    在这里插入图片描述

    5.FORMAT 参数替换变量

    • %c:备份片的拷贝数(从 1 开始编号)
    • %d:数据库名称
    • %D:位于该月中的天数(DD)
    • %M:位于该年中的月份(MM)
    • %F:一个基于 DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中 IIIIIIIIII 为该数据库的 DBID,YYYYMMDD 为日期,QQ 是一个 1-256 的序列
    • %n:数据库名称,并且会在右侧用 x 字符进行填充,使其保持长度为 8
    • %u:是一个由备份集编号和建立时间压缩后组成的 8 字符名称。利用%u 可以为每个备份集生成一个唯一的名称
    • %p:表示备份集中备份片段的编号,从 1 开始编号
    • %U:是%u_%p_%c 的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式
    • %s:备份集的号
    • %t:备份集时间戳
    • %T:年月日格式( YYYYMMDD)

    在 backup 命令中没有指定 format 选项,则 RMAN 默认使用%U 为备份片段命名

    二、RMAN 恢复

           RMAN 中的恢复对应两个操作:数据库修复( Restore)和数据库恢复( Recover)。使用 RMAN 进行数据库恢复时只能使用之前使用 RMAN进行的备份,可以实现数据库的完全恢复,也可以实现数据库的不完全恢复。与用户管理的恢复类似,RMAN 恢复也分两个步骤,首先使用restore 命令进行数据库的修复,然后使用 recover 命令进行数据库的恢复。数据库修复是指利用备份集的数据文件来替换已经损坏的数据库文件或者将其恢复到一个新的位置。数据库恢复是指应用所有重做日志,将数据库恢复到崩溃前的状态,或者应用部分REDO,将数据库恢复到指定的时间点。
           RMAN 中提供了多种不同级别的恢复方式,可以恢复整个数据库,也可以只恢复某个或某几个表空间,或某个或某几个数据文件,可以单独恢复控制文件、初始化参数文件,或者归档文件。也就是说,用RMAN 备份的就都能被恢复。

    1.数据库进行完全介质恢复

           如果数据库只剩下控制文件和参数文件,数据文件因为丢失或损坏,之前创建过整库的备价,并且执行备份操作之后,所有的归档日志文件和重做日志文件都还在,这种情况下就可以将数据库恢复到崩溃前那一刻的状态,这种恢复方式,叫做完全介质恢复。
    执行完全介质恢复有以下三个步骤:
    第一步:启动数据库到加载状态:
    在这里插入图片描述


    第二步:执行恢复操作:
    在这里插入图片描述
    在这里插入图片描述
    执行 recover 命令时,附加的 DELETE ARCHIVELOG 和 SKIP TABLESPACE 两个参数是可选参数:

    • DELETE ARCHIVELOG:表示 RMAN 将在完成恢复后自动删除那些在恢复过程中产生的归档日志文件
    • SKIP TABLESPACE:跳过指定表空间,比如临时表,当然临时表空间即使你不跳过它也不会恢复的

    第三步:恢复完成后,打开数据库:
    在这里插入图片描述

    2.表空间的恢复

    执行表空间的恢复时,数据库可以是 mount 状态,也可以是 open状态。在执行恢复之前如果被操作的表空间未处于 offline 状态,必须首先通过 alter tablespace … offline 语句将其置为脱机
    在这里插入图片描述
    如果一次对多个表空间进行恢复,那么只需要在执行restore/recover 命令时同时指定多个表空间名称即可,相互间以逗号分隔。不过将表空间置为 online/offline,脚本不能合并为一条。

    3.恢复数据文件

    执行数据文件的恢复时,数据库可以是 mount 状态,也可以是open 状态。在执行恢复之前,如果被操作的表空间未处于 offline状态,必须首先通过 alter database datafile…offline 语句将其置为脱机。
    在这里插入图片描述
    执行 restore/recover 操作指定数据文件时,既可以以数据文件编号,也可以由具体的数据文件名代替。
    如果由于磁盘损坏导致数据文件无法访问,那么恢复时数据文件可能无法再恢复到原路径,必须在执行 restore 命令之前,给数据文件指定新的路径。

    4.恢复控制文件

    Orac1e 会默认在 $Orac1e home/dbs 或者 $Orac1e home /database 目录中创建服务器参数文件与控制文件。
    假设已经还原了实例参数文件和启动了实例,还原控制文件时,一般过程是先设置 oracle_sid 和登录 RMAN,然后设置 DBID,使 RMAN知道需要查找哪一个数据库的控制文件。
    如果使用默认的位置来存储控制文件的自动备份,就可以简单地执行: restore controlfile from autobackup,这样 RMAN 就可以查找包含最新控制文件的控制文件备份集。一旦恢复了控制文件,就必须关闭重启数据库实例。如果使用的是非默认位置,就需要分配一个指向该位置的通道,然后再使用相同的方法来还原控制文件。
    从自动备份中恢复的具体步骤如下:
    第一步:建立测试环境:
    由于控制文件在 Orac1e 数据库运行期间会被 Orac1e 进程锁定,无法直接删除,因此这里还是按照之前实验模拟丢失数据文件的方式,首先 shutdown 数据库,然后再删除控制文件:
    在这里插入图片描述
    在这里插入图片描述


    第二步:恢复控制文件:
    新建一个窗口,连接到 RMAN 命令行
    在这里插入图片描述
    目标数据库控制文件丢失,无法启动到 mount 状态,此处必须首先指定 DBID。
    要获得目标数据库的 DBID,可以通过多种方式查询,如我们创建自动备份时,如果没有更改其命名方式,文件名中会包含 DBID;或者查看之前生成的 RMAN 备份日志,当使用 RMAN 登录目录数据库后,最先输出的信息中就会显示出目标数据库的 DBID;或者连接到目标端数据库之后,查询 database 视图也可以获得。
    在这里插入图片描述
    在这里插入图片描述
    恢复至默认路径下:
    在这里插入图片描述
    这里出现找不到副本的问题,发现前面设置的autobackup使用的不是默认路径
    在这里插入图片描述
    所以要从前面设置的路径进行恢复
    在这里插入图片描述


    第三步:启动数据库:
    在这里插入图片描述

    5.利用 RMAN 进行不完全恢复

    启动 RMAN 并连接目标数据库,如果使用恢复目录,还需要连接到恢复目录数据库。
    将数据库设置为加载状态:
    在这里插入图片描述


    基于时间的不完全恢复:
    基于时间恢复是指当出现用户错误(例如误删除表、误截断表) 时,恢复到指定时间点的恢复。执行RMAN,启动数据库到 mount 状态。使用 set until time 命令指定要恢复到的时间点。
    在这里插入图片描述


    基于 SCN 的不完全恢复:
    执行 RMAN,启动数据库到 mount 状态。使用 set until scn 命令指定要恢复到的 SCN 点。
    查询当前的scn
    在这里插入图片描述
    在这里插入图片描述


    基于日志序列号的不完全恢复:
    基于日志序列号恢复是指恢复数据库到指定日志序列号的状态。
    可以通过下面的语句来查询当前的日志序列号。
    在这里插入图片描述
    在这里插入图片描述

    6.RMAN 恢复示例

    我们来模拟一个过程,首先创建一份数据库的完全备份,然后在数据库中进行若干操作,之后删除该数据文件来模拟该文件意外丢失,最后通过 RMAN 来恢复该数据文件。


    联机备份的步骤如下:
    第一步:建立测试表,并向表里添加一条记录在这里插入图片描述


    第二步:在备份之前做一次日志切换
    在这里插入图片描述


    第三步:将数据库进行整库的备份
    在这里插入图片描述


    第四步:再向测试表中添加一条记录,再做一次日志切换
    在这里插入图片描述


    第五步:关闭数据库,模拟丢失数据文件
    在这里插入图片描述


    第六步:启动数据库
    在这里插入图片描述


    第七步:查询有问题的数据文件
    在这里插入图片描述


    RMAM 恢复的步骤如下:
    第一步::重新进入 RMAN 界面,将出现问题的表空间设置为脱机状态
    在这里插入图片描述


    第二步:修复数据库
    在这里插入图片描述


    第三步:恢复数据库,完成介质恢复
    在这里插入图片描述


    第四步:介质恢复完成后,将表空间恢复为联机状态
    在这里插入图片描述


    第五步:恢复完成后,打开数据库
    在这里插入图片描述


    第六步:检查数据记录丢失情况
    在这里插入图片描述
    这里可以发现,数据库恢复成功,数据没有丢失。若丢失的数据文件有多个,则应先将相应的数据文件全部进行备份,再使用类似的恢复步骤进行恢复。

    7.说明

    • RMAN 也可以实现单个表空间或数据文件的恢复,恢复过程可以在mount 下或open 方式下,如果在open 方式下恢复,可以减少down机时间
    • 如果损坏的是一个数据文件,建议 offline 并在 open 方式下恢复
    • 这里可以看到,RMAN 进行数据文件与表空间恢复的时候,代码都比较简单,而且能保证备份与恢复的可靠性,所以建议采用 RMAN的备份与恢复
    展开全文
  • 数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段 一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源 一、MySQL ...

    目录

    前言

    一、MySQL 完全备份

    1.数据库备份方式精讲

    1.1 数据库备份的重要性

    1.2 数据库备份的分类

    1.3 MySQL 完全备份概念解读

    2.mysqldump 备份演练

    2.1 使用 tar 打包文件夹备份

    2.2 使用 mysqldump 工具备份 

    二、MySQL 完全恢复

    1.恢复整库操作

    1.1 source 命令整库恢复

    1.2 MySQL 命令整库恢复

     2.恢复表操作

    2.1 使用 source 命令恢复表

    总结


    前言

    随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心,担当者重要的角色
    数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段
    一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源

    一、MySQL 完全备份

    1.数据库备份方式精讲

    1.1 数据库备份的重要性

    生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果

    数据库备份的重要性主要体现在:

    1. 提高系统的高可用性和灾难可恢复性,在数据库系统崩溃时,没有数据库备份就没法找到数据
    2. 使用数据库备份还原数据库,是数据库崩溃时提供数据恢复最小代价的最优方案,如果让用户重新添加数据,代价未免太大
    3. 没有数据就没有一切,数据库备份是一种防范灾难的强力手段

     使用数据库的过程中,有多种原因造成数据的丢失:

    1. 程序错误:指对数据库操作的程序难免有些错误,造成数据丢失
    2. 人为错误:指由于使用人员的误操作造成的数据被破坏,还有可能是黑客对系统攻击造成的数据丢失等
    3. 计算机失败:指运行数据库的服务器操作系统或软件损坏,有可能造成数据的损坏
    4. 磁盘失败:指硬盘等存储数据的硬件设备,长时间运行后可能损坏,造成数据丢失
    5. 灾难(如火灾、地震)和偷窃:指自然灾害等的发生,有可能造成数据丢失
    • 数据丢失会造成严重的经济损失,如携程网2015年5月28日数据库崩溃,每小时损失大概106万美元
    • 所以在企业信息系统建设中,数据库的备份管理是非常重要的内容

    1.2 数据库备份的分类

    备份方式分很多种,从物理与逻辑的角度,备份可分为以下几类:

     1.2.1 物理备份

    • 指对数据库操作系统的物理文件(如数据文件、日志文件等)的备份
    • 物理备份是磁盘块为基本单位将数据从主机复制到备机
    • 物理备份又可以分为脱机备份(冷备份)和联机备份(热备份)
    • 冷备份(脱机备份):在关闭数据库时进行的备份操作,能够较好地保证数据库的完整性
    • 热备份(联机备份):在数据库运行状态中进行操作,这种备份方法依赖于数据库的日志文件

    1.2.2 逻辑备份

    • 逻辑备份是以文件为基本单位将数据从主机复制到备机
    • 指对数据库逻辑组件(如表等数据库对象)的备份

    从数据库的备份策略角度来看,备份又可分为完全备份、差异备份和增量备份

    1.2.3 完全备份

    • 每次对数据进行完整的备份
    • 可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象
    • 但它需要花费更多的时间和空间,所以,做一次完全备份的周期要长些

    1.2.4 差异备份

    • 备份那些自从上次完全备份之后被修改过的文件,即只备份数据库部分的内容
    • 它比最初的完全备份小,因为只包含自上次完全备份以来所改变的数据库
    • 它的优点是存储和恢复速度快

    1.2.5 增量备份

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

    1.2.6 备份方式比较

    备份方式完全备份差异备份增量备份
    完全备份时的状态表1、表2表1、表2表1、表2
    第1次添加内容创建表3创建表3创建表3
    备份内容表1、表2、表3表3表3
    第2次添加内容创建表4创建表4创建表4
    备份内容表1、表2、表3、表4表3、表4表4
    • 完全备份每次都是把整个数据库中的内容进行备份
    • 差异备份在第1次添加内容后备份,即备份新添加的内容;第2次添加内容后备份,把第1次添加的内容也进行了备份,它是根据完全备份时的状态决定的
    • 差异备份每次都是把完全备份之后所有的修改进行备份,而不管之前是否做过差异备份
    • 增量备份只备份每次新修改的内容,第1次创建表3,就对表3备份,第2次添加表4后,因为之前已经备份过表3,所以只备份表4的内容

    1.3 MySQL 完全备份概念解读

    • MySQL 的备份方式主要有完全备份与增量备份
    • 完全备份是对整个数据库的备份、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是增量备份的基础
    • 完全备份的优点是备份与恢复操作简单方便,缺点是数据存在大量重复,占用大量的备份空间,备份的时间长
    • 在生产环境中,这两种备份方式都会使用,需要制定合理高效的方案达到备份数据的目的,避免数据丢失造成严重的后果

    2.mysqldump 备份演练

    • MySQL 数据库的备份可以采用两种方式
    • 因为数据库实际上就是文件,直接打包数据库文件夹,或者是使用专用备份工具 mysqldump 都可以进行备份工作

    2.1 使用 tar 打包文件夹备份

    MySQL 的数据库文件默认都是保存在安全目录的 data 文件夹下,可以直接保存 data 文件夹,因为占用空间较大,可以使用data 打包压缩进行保存

    yum -y install xz
    #数据库文件很大,可以使用压缩率较大的xz格式压缩,首选需要安装xz压缩格式工具
    
    tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
    #对数据库文件夹进行打包操作
    
    ls /opt
    #查看打包命令是否运行成功,已经生成了备份文件
    
    du -sh /opt/mysql-2021-10-26.tar.xz 
    #对比打包前后的文件大小,可以看到压缩的备份文件所占用空间很小
    
    tar -Jxvf /opt/mysql-2021-10-26.tar.xz -C /usr/local/mysql/data/
    systemctl restart mysql
    #如果数据库文件损坏数据丢失,可以解压缩文件,相当于数据恢复
    

     

    2.2 使用 mysqldump 工具备份 

    • mysqldump是客户端常用逻辑备份程序,能够产生一组被执行以后再现原始数据库对象定义和表数据的SQL语句。它可以转储一个到多个MySQL数据库,对其进行备份或传输到远程SQL服务器。mysqldump更为通用,因为它可以备份各种表。
    • 使用 mysqldump 可以更加灵活地控制备份的内容,比如某几个表或库都可以单独备份
    •  mysqlhotcopy仅适用于某些存储引擎(MyISAM和ARCHIVE)
    #开始之前,创建库和表,用作例子
    
    mysql -uroot -p123123
    #输入密码进入数据库,以上为我的密码
    
    create database SCHOOL;
    #创建库
    use SCHOOL;
    
    create table CLASS01 ( id int(2) not null auto_increment, name varchar(10) not null, sex char(5) not null, hobby varchar(10), primary key (id));
    #创建表结构
    #字段一:id,最大显示长度2,不能为空,自动递增从1开始
    #字段二:name,可变长度字段,10,不能为空
    #字段三:sex,固定长度5,不能为空
    #字段四:hobby,可变长度,最多10字符
    #字段四:主键(id)
    
    insert into CLASS01 values(1,'wangyi','man','reading');
    insert into CLASS01 values(2,'wanger','woman','singing');
    #插入2条数据
    
    select * from CLASS01;
    #检查一下
    
    quit
    #退出数据库
    

    #使用 mysqldump 对某些表进行完全备份,命令格式如下:
    mysqldump -u[用户名] -p[密码] [选项] [数据库名] [数据表名] > /备份路径/备份文件名.sql
    #导出的为数据库脚本文件
    
    例:对库SCHOOL中的表class进行备份至/opt/目录下
    mysqldump -uroot -p[密码] SCHOOL CLASS01 > /opt/test01.sql
    

    #对某些库进行完全备份
    mysqldump -uroot -p[密码] [数据库名] > /目录/备份文件名.sql
    
    例:
    mysqldump -uroot -p123123 SCHOOL > /opt/test02
    
    
    #对多个库进行完全备份
    mysqldump -uroot -p123123 --databases SCHOOL sys > /opt/test03.sql
    
    
    #对所有库进行完全备份
    mysqldump -uroot -p123123 --all-databases > /opt/test04.sql
    
    
    #直接备份表结构
    mysqldump -uroot -p123123 -d SCHOOL CLASS01 > /opt/test05.sql
    
    
    ls /opt/
    #查看打包命令是否运行成功,已经生成了备份文件
    

     

    cat /opt/test05.sql
    #分析 mysqldump 工具生成的备份文件的内容
    

     

    •  上面使用了 -d 选项,说明只保存数据库的表结构,且表中只有一个库,可以看到先删除了表(同名),再创建了它
    • 删除和创建都是最普通的 MySQL 命令,任何一条在 MySQL 中都是可以执行的语句,有了这些语句就可以创建出和现在的表结构相同的表
    • 如果不使用 -d 选项,会把数据也进行备份,下面看看数据时如何保存
    cat /opt/test01
    

    • 可以看到与使用 -d 参数的差别是最后出现了 insert into 语句,往数据库中插入了两条数据,也就是说,数据的备份是保存的插入语句操作
    • 通过以上分析,很容易理解,备份的本质就是保存数据库当前表结构的创建语句和现有数据的插入语句,有了它们就可以直接恢复数据库的状态

    二、MySQL 完全恢复

    • 前面介绍了数据库的完全备份,使用 mysqldump 工具可以把数据的创建语句保存在备份的脚本文件中
    • 当出现错误时,可以使用以下几种方法恢复它们

    1.恢复整库操作

    1.1 source 命令整库恢复

    mysql -uroot -p123123
    
    show databases;
    drop database SCHOOL;
    show databases;
    
    source /opt/test03.sql
    #之前备份过的,该备份为SCHOOL和sys两个库的完整备份
    #注意!选项得加“--databases”才是完整的备份,不然会恢复不了
    

    1.2 MySQL 命令整库恢复

    quit
    
    mysql -uroot -p123123 -e 'drop database SCHOOL;'
    mysql -uroot -p123123 -e 'SHOW DATABASES;'
    
    mysql -uroot -p123123 < /opt/test03.sql
    
     mysql -uroot -p123123 -e 'SHOW DATABASES;'
    

     2.恢复表操作

    • 恢复数据表同样可以使用 source 命令和 mysql 命令操作

    2.1 使用 source 命令恢复表

    mysql -uroot -p123123
    use SCHOOL;
    show tables;
    drop table CLASS01;
     
    source /opt/test01.sql
    #恢复表
    
    show tables;
    select * from CLASS01;
    #查看
    

     2.2 使用 mysql 命令恢复表

    quit
    
    mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
    
    mysql -uroot -p123123 -e 'DROP TABLES SCHOOL.CLASS01;'
    mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
    
    mysql -uroot -p123123 SCHOOL < /opt/test01.sql
    mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
    

     

    总结

    MySQL 需要定期实施备份,指定合适的备份计划或策略,并严格遵守
    除了进行完全备份,开启 MySQL 服务器的日志功能也很重要,完全备份加上日志,可以对 MySQL 进行最大化还原
    备份文件的名字还需钥使用统一的易于理解的名称,推荐使用库名或表名加上时间的命名规则,在需要恢复数据库时能很容易的定位到相应的所需备份文件
     

    展开全文
  • mysql数据没有备份误删了怎么恢复

    千次阅读 2021-01-25 13:10:31
    打开mysql的bin log功能:对于mysql也是支持增量备份,但要打开mysql的bin log功能。我们修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安装目录/my.ini我们在[mysqld]下面加上log-bin一行代码,如下面...

    打开mysql的bin log功能:

    对于mysql也是支持增量备份,但要打开mysql的bin log功能。

    我们修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安装目录/my.ini

    我们在[mysqld]下面加上log-bin一行代码,如下面。

    [mysqld]

    log-bin=mysql-bin

    复制代码

    加完后重起mysql即可。

    某客户更新数据的时候,误删了数据库的内容,因为数据库做了主从,但是没有做备份(备份很重要啊!)幸好开启了bin-log,之后只好把整个日志的记录拿回来本地进行恢复。

    之后自己也做了一个简单的测试,对数据进行恢复,具体如下:

    1、新建一个表

    CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE=MYISAM;

    2、插入多条数据

    INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn1', '1');

    INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn2', '2');

    INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn3', '3');

    INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn4', '4');

    3、查看数据并删除

    mysql> select * from sn_test;

    +-------+-----+

    | name | age |

    +---------+---+

    | lynn1 | 1 |

    | lynn2 | 2 |

    | lynn3 | 3 |

    | lynn4 | 4 |

    +---------+-----+

    4 rows in set (0.00 sec)

    mysql> delete from sn_test;

    Query OK, 4 rows affected (0.00 sec)

    mysql> select * from sn_test;

    Empty set (0.00 sec)

    4、mysqlbinlog恢复数据

    mysqlbinlog mysql-bin.000006 > 1.sql

    查看1.txt里面数据插入的纪录,把删除之前的数据进行恢复

    mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123

    重新登录,查看数据,OK,已经成功恢复了

    对于数据库操作,应该注意如下问题:

    1、要常备份(全备,增量备份),出了问题可以最快恢复数据;

    2、操作数据库前,要把需要操作的数据库或者表dump出来;

    3、需要把bin-log打开,就算没有做上面的两步,也可以通过日志恢复数据

    展开全文
  • Oracle数据库备份恢复一、脱机备份恢复1.脱机备份获取数据文件列表获取控制文件列表获取联机重做日志文件列表备份测试2.脱机恢复二、联机备份恢复1.将数据库转换为归档模式2.联机备份3.联机恢复三、完全恢复...

    一、脱机备份与恢复

    1.脱机备份

    获取数据文件列表

    在这里插入图片描述


    获取控制文件列表

    在这里插入图片描述


    获取联机重做日志文件列表

    在这里插入图片描述


    备份测试

    建立测试表
    在这里插入图片描述


    关闭数据库
    在这里插入图片描述


    建立备份的目录,复制文件到备份的目录,包括全部的数据文件、控制文件和重做日志文件(第一次尝试的时候被拒绝访问,只需要以管理员身份打开命令行即可)。
    在oracle中当我们新建了多个数据库后,再次登录时,系统默认的是最后创建的那个数据库,所以上述操作默认在TEST4数据库中进行,要备份TEST4中的数据(这里一定要把上面查询到的文件都备份,如果缺文件则无法进行恢复,注意!!!)
    在这里插入图片描述
    在这里插入图片描述


    启动数据库,增加测试记录
    在这里插入图片描述
    在这里插入图片描述


    删除文件,模拟数据库损坏
    在这里插入图片描述

    2.脱机恢复

    关闭数据库,将备份的数据文件还原到原来所在的位置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    启动数据库,查询数据记录丢失情况
    在这里插入图片描述
    数据库恢复成功,但备份之后与崩溃之前的数据丢失了。意味着这种恢复可以完全恢复到备份的点上。

    二、联机备份与恢复

    1.将数据库转换为归档模式

    创建两个目录
    在这里插入图片描述


    设置参数,指定归档目的地和控制归档日志文件名
    在这里插入图片描述


    关闭数据库,再在加载模式中启动数据库,并将数据库转换至文档模式后打开数据库,查询数据库及归档器进程状态
    在这里插入图片描述


    执行日志切换,查询数据库归档方式
    在这里插入图片描述


    2.联机备份

    建立测试表并添加记录
    在这里插入图片描述


    将数据库的表空间设为联机备份状态,查 询bda_data_file 数据字典视图确定所有表空间的数据文件
    在这里插入图片描述


    备份该表空间的所有数据文件,并取消表空间的备份状态,备份控制文件后向测试表中添加一条记录,再进行日志切换
    在这里插入图片描述


    关闭数据库,模拟丢失数据文件
    在这里插入图片描述


    3.联机恢复

    将出现问题的表空间数据文件修改为脱机状态,修改数据库为打开状态,将备份的数据文件复制到原来的目录
    在这里插入图片描述
    在这里插入图片描述


    用 recover 命令进行介质恢复,完成后将表空间数据文件恢复为联机状态,查询数据记录丢失情况
    在这里插入图片描述
    可以发现,数据库恢复成功,数据没有丢失。
    若丢失的数据文件有多个,则应先将相应的数据文件全部进行备份,再使用类似的恢复步骤进行恢复。

    三、不完全恢复

    1.基于 cancel 的恢复

    基于 cancel 的不完全恢复适用场景:recover 时、所需的某个归档日志损坏,或主机断电、current 状态的联机日志损坏。


    关闭数据库,使用操作系统命令将原来备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
    在这里插入图片描述
    在这里插入图片描述


    2.基于时间点的恢复

    首先关闭数据库,使用操作系统命令将原备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
    在这里插入图片描述
    在这里插入图片描述


    使用 recover 命令对数据库执行基于时间点的恢复,完成恢复操作后,使用 resetlogs 模式启动数据库
    在这里插入图片描述

    3.基于 SCN 的恢复

    SCN (System Change Number)是当 Oracle 数据库更新后,由 DBMS自动维护去累积递增的一个数字。在 Oracle 中有四种 SCN,分别为:系统检查点 SCN、数据文件检查点 SCN、启动 SCN、终止 SCN。
    基于 SCN 的不完全恢复使用情况跟基于时间一样,只是这里是根据 SCN 值来恢复的,查询系统检查点 SCN。


    首先关闭数椐库;使用操作系统命令将原备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
    在这里插入图片描述
    在这里插入图片描述


    使用 recover 命令对数据库进行恢复。恢复操作完成后,使用 resetlogs 模式启动数据库
    在这里插入图片描述

    四、使用EXP/IMP命令导出/导入数据

    1.EXP 导出命令概述

    可以对所有表执行全数据库导出(Complete Export)或者仅对上次导出后修改的表格全数据库导出。增量导出有两种不同类型:Incremental (增量)型和 Cumulative(积累)型。Incremental 导出将导出上次导出后修改过的全部表;而 Cumulative 导出将导出上次全导出修改过的表。可使用 Export 实用程序来压缩数据段碎片的盘区。
    从命令行调用 Export 程序并且传递各类参数和参数值,可以完成导出操作,参数如下:

    • Userid:执行导出的用户名和口令,如果是 EXP 命令后的第—个参数,则关键字 Userid 可以省略
    • Buffer:用于获取数据行的缓冲区尺寸,默认值随系统而定,通常设定一个高值(>64000)
    • File:导出转储文件的名字
    • Filessize:导出转储文件的最大尺寸。如果 file 条目中列出多个文件,将根据 Filessize 设置值导出这些文件
    • Compress:Y/N 标志,用于指定导出是否应把碎片段压缩成单个盘区。这个标志影响将存储到导出文件中的 storage 子句
    • Grants:Y/N 标志,指定数据库对象的权限是否导出
    • Indexes:Y/N 标志,指定表上的索引是否导出
    • Rows:Y/N 标志,指定行是否导出。如果设置为 N,在导出文件中将只创建数据库对象的 DDL
    • Constraints:Y/N 标志,用于指定表上的约束条件是否导出
    • Full:若设为 Y,执行 Full 数据库导出
    • Ower :导出数据库账户的清单;可以执行这些账户的 User 导出
    • Tables:导出表的清单;可以执行这些表的 Table 导出
    • Recordlength:导出转储文件记录的长度,以字节为单位。除非是在不同的操作系统间转换导出文件,否则就使用默认值
    • Direct:Y/N 标志,用于指示是否执行 Direct 导出。Direct 导出在导出期间绕过缓冲区,从而大大提高导出处理的效率
    • Inctype:要 执行 的到处 类型 ( 允许 值为 complete ( 默 认) 、cumulative 和 incremental)
    • Record:用于 incremental 导出,这个 Y/N 标志指示一个记录是否存储在记录导出的数据字典中
    • Parfile:传递给 Export 的一个参数文件名
    • Statistics:这个参数指示导出对象的 analyze 命令是否应写到导出转储文件上。其布效值是 compute、estimate (默认)和N
    • Consistent:Y/N 标志,用于指示是否应保留全部导出对象的读一致版本。在 ExPort 处理期间,当相关的表被用户修改时需要这个标志
    • Log:导出日志的文件名
    • Feedback:表导出时显示进度的行数。默认值为 0,所以在表全部导出前没有反馈显示
    • Query:用于导出表的子集 select 语句
    • Transport_tablespace:如果正在使用可移动表空间选项,就设置为 Y。和关键字tablespace 一起使用
    • Tablespaces:移动表空间时应导出其元数据的表空间
    • Object_consistent:导出对象时的事物集,默认为 N,建议采用默认值
    • Flashback_SCN:用于回调会话快照的 SCN 号,特殊情况下使用,建议不用
    • Flashback_time:用于回调会话快照的 SCN 号的时间,如果希望导出不是现在的数据,而是过去某个时刻的数据的话,可使用该参数
    • Resumanle:遇到错误时挂起,建议采用默认值
    • Resumanle_timeout:可恢复的文本字符串,默认值为 Y,建议采用默认值
    • Tts_full_check:对 TTS 执行完全或部分相关性检查,默认值为 Y,建议采用默认值
    • Template:导出的模板名

    导出有以下三种模式:

    • 交互模式。在输入 EXP 命令后,根据系统的提示输入导出参数,如用户名、口令和导出类型等参数
    • 命令行模式。命令行模式和交互模式类似,不同的是使用命令模式时,只能在模式被激活后,才能把参数和参数值传递给导出程序
    • 参数文件模式。参数文件模式的关键参数是Parfile。Parfile的对象是一个包含激活控制导出对话的参数和参数值的文件名

    2.EXP导出

    建立导出的测试环境
    在这里插入图片描述


    将数据库 TEST4完全导出,用户名 system,密码 123456
    在这里插入图片描述


    将数据库中 system 用户与 usertest001 用户的表导出
    在这里插入图片描述


    将数据库中的表 tablezf001导出
    在这里插入图片描述

    3.IMP 导入命令概述

    数据导出后,可以使 Import 工具将导出的文件再导入到数据库中。Import 工具能够读取由 Export 工具生成的二进制导出转储文件并执行文件中的命令,能够从导出转储文件中导入部分或全部数据
    导入操作可以交互进行也可通过命令进行。导入操作选项同导出的操作一样


    导入表

    导入自己的表
    在这里插入图片描述


    导入表到其他用户
    要求该用户具有 DBA 的权限,或是imp_full_database,在执行如下语句之前必须先执行 grant dba to userzf001 的授权语句
    在这里插入图片描述

    在这里插入图片描述


    导入方案

    导入方案是指使用 Import 工具将文件中的对象和数据导入到一个或是多个方案中。如果要导入其他方案,要求该用户具有 DBA 的权限,或者imp_full_database


    导入自身的方案
    在这里插入图片描述


    导入其他方案
    在这里插入图片描述


    导入数据库

    在这里插入图片描述
    在这里插入图片描述

    五、使用OEM导出/导入数据

    1.备份准备

    使用 OEM 进行备份之前,需要建立相关的操作系统备份用户,其可以是已经存在的用户或是新建一个用户。本实验中将新建一个用于Oracle 备份的操作系统用户


    在 操 作 系 统 中 新 建 一 个 用 户 , 其 用 户 名 为 :oraclezf001,密码为:123456
    在这里插入图片描述


    编 辑 oraclezf001 用 户 的 属 性 , 将 其 隶 属 于
    Admimstraors 和 ora_dba 组
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    在开始运行处录入 secpol.msc 进入“本地策略”→“用户权限分配”中,将“作为批处理作业登录”权限添加给 oraclezf001 用户
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    通过以上设置,我们已经建立好了 OEM 备份使用的操作系统用户,并具有相关权限

    2.使用 OEM 导出数据

    OEM 在进行数据逻辑备份时,实际使用 Oracle 11g 的 EXPDP 程序在服务器端执行备份


    创建测试环境步骤

    在这里插入图片描述


    以 SYSTEM 用户的普通身份登录 OEM
    在这里插入图片描述


    单击“数据移动”页面“移动行数据”项下的“导出到导出文件”链接
    在这里插入图片描述


    在“导出:导出类型”页面选择“方案”选项,输入主机 身 份 证 明 项 下 的 用 户 名 及 口 令
    在这里插入图片描述


    在“导出:方案”页而的初始状态下,没有默认的方案被选择,单击“添加”按钮
    在这里插入图片描述


    在“导出:添加方案”页面选择方案的名称,单击“开
    始“按钮,在搜索结果栏中显示相应的方案名,选择需要导出的方案笔 USERZF001,单击“选择”按钮
    在这里插入图片描述
    在这里插入图片描述


    在“导出:选项”页面单击“显示高级选项”链接,将显示导出的内容、闪回、查询等,单出“下一步”按钮
    在这里插入图片描述


    点击“创建目录对象”,输入目录名称,例如“ORABACKDIR”(建议使用大写),在路径中输入存储备份文件的文件夹地址“G:\oracle\bak”,可以点击“测试文件系统”进行测试,注意文件夹地址必须在服务器上已经存在
    在这里插入图片描述


    :在目录对象下拉菜单中选择刚刚创建的“ORABACKDIR”
    在这里插入图片描述


    本页指定存储文件的存放位置,在页面中的目录对象
    下拉菜单中选择刚刚创建的“ORABACKDIR”,文件名输入相关值,建议添加“%U”通配符,这样当一个存储文件写满时会自动创建新的文件。在最大文件大小中指定最大文件大小,此处输入 2048,表明每个存储文件最大为 2GB。单击“下一步”按钮继续
    在这里插入图片描述


    在页面中输入作业名称,这里输入“FIRSTEXP”(建议使用大写),可以在“说明”中添加相关的作业说明,如“导出USERTEST001 的数据”。指定启动时间,这里选择“立即”。单击“下一步”按钮继续
    在这里插入图片描述


    在“导出:复查”页面中,显示了作业的导出类型、统计信息类型、并行度、要导出的文件、日志文件及作业调度,单击“提交作业”按钮
    在这里插入图片描述


    “ 复查”页面中检查无误后点击“提交作业”。如果提
    交成功,页而将转向“作业活动”的“确认”页面。在页面的列表中可以看到“FIRSTEXP”的状态为“正在运行”
    在这里插入图片描述


    在等待一定时间后,显示成功创建作业的信息,可以
    点击页面中的“开始”对页面进行刷新,当列表中为空时,表示导出已经成功结朿(因为第一次作业提交有问题,所以又创建了一个名称为SECONDEXP)
    在这里插入图片描述

    3.使用 OEM 导入数据

    使用 OEM 导入方式导入上一任务中备份的表
    先将 USERTEST001 用户删除
    在这里插入图片描述


    以 SYSTEM 用户的普通身份登录 OEM,单击“数据移动”页面“移动数据”项下的“从导出文件导入”,打开“导入:文件”页面,选择目录对象为 ORABACKDIR,选择导入类型为“方案”,输入主机身份证明的用户名及口令,单击“继续”按钮
    在这里插入图片描述
    在这里插入图片描述


    在导入读取成功页面中显示“已成功读取导入文件”后单击“添加”按钮
    在这里插入图片描述


    单击“添加”按钮,在弹出页面选择方案USERZF001,单击“选择”按钮
    在这里插入图片描述


    在“导入:方案”页面中单击“下一步”按钮
    在这里插入图片描述


    在新页面中可以指定“重新映射方案”“重新映射表空间”“重新映射数据文件”时,使用默认设置,不进行修改。单击“下一步”继续
    在这里插入图片描述


    选择或创建生成日志文件的目录,本例中选择“orabackdir2”。在高级选项中可以设置导入的具体方式,这里我们使用默认设置。单击“下一步”继续
    在这里插入图片描述


    在“导入:调度”页面的“作业名称”栏设定作业名称,如输入 firstimp,单击“下一步”按钮
    在这里插入图片描述


    在“导入:复查”页面显示调度信息,复查页面检查无误,单击“提交作业”按钮
    在这里插入图片描述


    在“作业活动”页面中显示“已成功创建作业”
    在这里插入图片描述


    使用“USERZF001”用户登录数据库查看导入数据,可以确认数据已经导入
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • MySQL的备份恢复前言:前面我们已经了解了 MySQL 数据库的安装及使用,但随着自动化办公与电子商务的不断发展,企业对信息系统的依赖性越来越高,而 数据库 在信息系统中担任着非常重要的角色。尤其是一些对数据...
  • MySQL 8 备份恢复

    千次阅读 2021-01-19 19:54:36
    备份应用的场景包括:系统崩溃、硬件故障、...Slave Server备份备份Slave 数据库时,应该备份Master info 和 Relay log info repository,如果在备份时,Slave 正在复制 LOAD DATA语句应该备份slave_load_tmpdi...
  • 相信很多华为手机用户,都有开通手机云备份这一功能,让手机上的数据定期自动备份,以免自己在使用过程中,小心...手机助手备份的数据无法恢复时的处理方案清理手机内存和常用的应用当手机内存不够的时候,也...
  • MySQL数据备份恢复

    2021-01-19 21:33:26
    1.数据库备份恢复的概述数据库备份是指通过导出数据或者复制表文件的方式来制作数据库的副本。数据库恢复则是当数据库出现故障或遭到破坏时,将备份的数据库加载到系统,从而使数据库从错误状态恢复备份时的正确...
  • 可以通过备份 iOS 设备上的数据到电脑中,以便于恢复或者数据的转移。如果您更换了设备,则可以使用原来设备的备份将您的信息恢复到新 iOS 设备中。爱思助手备份功能分为全备份和分类备份,您可以根据自己的需要...
  • 系统数据备份恢复制度为了确保系统计算机系统的数据安全,使得在计算机系统失效或数据丢失时,能依靠备份尽快地恢复系统和数据,保护关键应用数据的安全,保证数据丢失,特制定本制度。一、拥有重要系统或重要...
  • 一、bak方式备份恢复 (一)备份 1、cmd到PostgreSQL安装目录bin下 2、备份命令 pg_dump -h 127.0.0.1 -U postgres postgres > D:\pgdb.bak 3、指令解释 如上命令, pg_dump 是备份数据库指令; 127.0.0.1是...
  • 它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。 语法: 远程库: ...
  • 若数据库文件丢失,可以解压缩备份文件,相当于做了数据恢复操作 mkdir /restore tar zxvf /backup/mysql_all-2020-12-24.tar.gz -C /restore/ ##时间节点可能一样 mv /restore/usr/local/mysql/data/ /usr/local...
  • 之前介绍了“宝塔面板自动备份网站和数据库到FTP存储空间教程”,那么宝塔备份的网站数据怎么恢复呢?所以本文来教大家怎么把网站从备份数据还原。宝塔备份的数据在什么地方?宝塔面板后台可以自动或者手动给网站...
  • mysqldump 备份恢复

    2021-01-19 03:01:28
    少量数据可以使用mysqldump缺点:大量数据下,使用mysqldump恢复较慢,mysqldump再导入数据的时候,都是使用sql语句,需要开启事务。建议使用.二.语法如下:mysqldump [arguments] >file_name(1)...
  • 如果企业由于可预知的原因(如地震、火灾、计算机病毒、人为的误操作等等)造成数据损失或丢失,需要对数据进行恢复,此时备份数据就可以将企业的损失降到最小。一、正常备份恢复适用于可以正常登陆软件并且能正常...
  • golang备份恢复

    2021-02-10 07:16:31
    在接下来的介绍中,讲解了如何备份应用、如何备份/恢复Mysql数据库和redis数据库。 应用备份 在大多数集群环境下,Web应用程序基本需要备份,因为这个其实就是一个代码副本,我们在本地开发环境中,或者版本控制...
  • mysql数据库备份恢复

    千次阅读 2021-07-25 18:15:49
    在开发中经常需要用到对线上的数据库做一些备份操作,以便应对一些突发状况下数据库的快速恢复,下面针对常用的数据库备份操作做简单的总结 环境准备 本文以mysql5.7进行说明,因此需要提前在linux环境下安装mysql...
  • 管家婆怎么恢复数据,备份数据

    千次阅读 2021-02-03 12:53:49
    自动备份方便快捷,但由于某引起原因用管家婆进行自动备份失败时,我们可以进行手工备份。1、自动备份数据2、自动恢复数据3、手工备份数据4、手工恢复数据5、手工创建账套1、自动备份数据选择“...
  • 今天,我们继续分享系统备份和还原的相关知识。相信大家都自己上手安装过自己的windows操作系统了,每次下载镜像、安装系统、安装驱动、安装软件等等一系列的操作之后呢,虽然安装好了自己满意的系统,但是同时也...
  • 1. 备份容器首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表。要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命令。# docker psDocker Containers ...
  • 数据库实验 数据控制-安全性部分+ 数据控制-完整性部分+数据备份恢复 一、实验环境 本实验的实验环境为SQL Sever 2008 R2。 二、实验内容与完成情况 一、实验目的 熟悉通过SQL对数据库进行数据控制,包括安全性、...
  • mysqldump -uroot -p** -A -B -F --master-data=2 --single-transaction --events > /root/all.sql恢复:mysql -u... /root/all.sql利用binlog日志进行增量恢复利用位置恢复:mysqlbinlog --start-position="154"...
  • MySQL 从备份数据库中恢复指定的表和库示例在Mysqldump官方工具中,如何只恢复某个库呢?全库备份[root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql只还原erp库的内容[root@...
  • 作者:Selena Komez10月30,2018更新对于任何平台上的所有Android...备份Android App数据后,您可以备份的App数据还原到Android,以防万一丢失。多种在Android上备份您的App数据的方法。在本指南中,我们将向您展...
  • docker中mysql备份恢复docker hub mysql镜像说明Creating database dumpsMost of the normal tools will work, although their usage might be a little convoluted in some cases to ensure they have access to ...
  • 有些时候需要在MySQL命令行中进行数据库备份的操作,这时我们就需要对MySQL命令有所了解,基本格式... 文件名.sql备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile...
  • 虽然用户已经掌握了使用NBU文件的备份恢复等操作,但是如果读者是数据管理员,那还是不够的。因为即使用户的数据保存到了磁盘或者磁带中,并且是安全的,NBU所在的机器还有可能发生故障,需要重新安装或者将NBU部署...
  • 实验报告六MYSQL备份恢复.doc班级:10应用 姓名:张红珍 学号:2010081133 指导老师:钟老师实验六 MYSQL备份恢复实验平台:安装MYSQL数据库的PC实验目的:1.熟练掌握常用MYSQL数据备份恢复的方法。2....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 448,892
精华内容 179,556
关键字:

备份不完整可以恢复吗