精华内容
下载资源
问答
  • 备份分类

    2014-05-05 21:34:53
    一、备份分类 1、物理备份备份database的数据文件、控制文件、参数文件(spfile)等(备份database的物理结构),可以用于任何形式的failure。 其中control file ...
    一、备份分类
    1、物理备份:备份database的数据文件、控制文件、参数文件(spfile)等(备份database的物理结构),可以用于任何形式的failure。
    其中control file  datafile必须备,初始化参数文件为可选备份。
    1)手工备份:通过os的命令,对要备份的文件拷贝,备份数据文件中的所有块,不能做增量备份。
    2)rman备份:利用oracle的备份工具rman备份(或其它备份软件),只备份datafile里已使用的块,可以做增量备份。

    2、逻辑备份:只备份database的object的数据结构和数据(如对单个表的备份),一般用于用户的误操作恢复,不能用于media failure,只能恢复到备份点。
    1)exp/imp
    2)expd/impd
    完整的备份应该以物理备份为主,逻辑备份为辅(用于备份一些重要的表)。
    二、手工备份分类
    按归档模式分:
    1、归档模式:可以进行一次性备份(冷备)和非一次性备份(热备)。
    2、非归档模式:一致性备份(冷备)。
    一致性备份(冷备份),在数据库正常关闭情况下做备份,数据库处于一致性状态。(可以用于archive和noarchive)缺点,数据库需要关闭。
    非一致性备份(热备份):database在open状态下备份(用于archive模式),优点:数据库不需要关闭,用于7×24事务处理的数据库。
    还可以分成
    1、完全备份:备份database的所有数据文件和控制文件(datafile、controlfile)
    2、部分备份:必须在归档模式下进行。只备份单个表空间或datafile(archivelog模式)。
    手工备份和恢复的命令
    1)备份用os命令
    2)恢复用sql命令:recover

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21251711/viewspace-1154583/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/21251711/viewspace-1154583/

    展开全文
  • 1,数据库备份种类 按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下: 1.1完全备份 这是大多数人常用的方式,它可...
        

     


    1,数据库备份种类

    按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下:

    1.1完全备份

    这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。

     

    1.2事务日志备份

    事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。

     

    1.3差异备份

    也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。

     

    1.4文件备份

    数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。

    按照数据库的状态可分为三种:

    1.冷备份,此时数据库处于关闭状态,能够较好的保证数据库的完整性。

    2.热备份,数据库正处于运行状态,这种方法依赖于数据库的[1] 日志文件进行备份。

    3.逻辑备份,使用软件从数据库中提取数据并将结果写到一个文件上。

     

    2,备份工具简介

    mysql按照备份恢复方式分为逻辑备份和物理备份。逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现,物理备份就是备份数据文件了,比较形象点就是cp下数据文件,但真正备份的时候自然不是的cp这么简单。

     

    这2种备份各有优劣,一般来说,物理备份恢复速度比较快,占用空间比较大,逻辑备份速度比较慢,占用空间比较小。

    官方地址:http://dev.mysql.com/doc/refman/5.6/en/backup-and-recovery.html

    2.1 mysqldump工具

    Mysqldump是mysql自带的备份工具,目录在bin目录下面:/usr/local/mysql/bin/mysqldump,支持基于innodb的热备份。但是由于是逻辑备份,所以速度不是很快,适合备份数据比较小的场景。Mysqldump完全备份+二进制日志可以实现基于时间点的恢复。

     

    对myisam存储引擎的表,只能使用温备份,这个时候要防止数据的写入,所以先加上读锁。这个时候也可以进入数据库手动加读锁,不过这样比较麻烦,可以在mysqldump工具中直接有一个加锁的选择,就是 --lock-all-tables ,例如mysqldump --databases test --lock-all-tables --flush-logs > /tmp/backup_test_`date+%F-%H-%M`.sql。

     如果是备份单张表,直接在库名字test后面加上表名字即可。

     

    对于innodb存储引擎表,可以热备,不必对数据库进行加锁的操作,加一个选项可以进行热备份,--single-transaction,例如:mysqldump --databases test --single-transaction --flush-logs--master-data=2> /tmp/backup_test_`date +%F-%H-%M`.sql。

     

    PS:注意点,恢复的时候记得关闭二进制日志:

    mysql> set sql_log_bin=0;

    因为这是基于逻辑备份方式,所以执行sql会插入数据,会记录到二进制日志里面去,因为这事恢复,所以插入的二进制日志基本没有啥意思,可以关闭掉,缩短恢复时间。

     

    2.2 基于LVM快照备份

    在物理备份中,有基于文件系统的物理备份(LVM的快照),也可以直接用tar之类的命令对整个数据库目录进行打包备份,但是这些只能进行泠备份,不同的存储引擎备份的也不一样,myisam自动备份到表级别,而innodb不开启独立表空间的话只能备份整个数据库。

     

    下面就介绍下使用LVM的快照功能进行备份为了安全,首先在数据库上施加读锁

    mysql>FLUSH TABLES WITH READ LOCK;

     

    刷新一下二进制日志,便于做时间点恢复

    mysql>FLUSH LOGS;

     

    然后创建快照卷

    lvcreate –L 1G –s –n data-snap –p –r/dev/myvg/mydata

     

    最后进入数据库释放读锁

    UNLOCK TABLES;

     

    挂载快照卷进行备份

    mount –r /dev/myvg/data-snap /mnt/snap

     

    然后对/mnt/snap下的文件进行打包备份

    还原的时候,关闭mysqld,然后备份二进制日志后将原来备份的文件还原进去,然后通过二进制日志还原到出错的时间点(通过二进制还原时间点的时候不要忘了暂时关闭二进制日志)

     

    在2010年到2012年之间,mysql数据库部署在亚马逊的云环境中,他们提供了LVM快照,蛮方便快捷的,使用lvm快照,在亚马逊的万兆网络下,恢复起来也迅速无比。

     

    2.3 tar包备份

    0,准备从库第一次数据备份,临时锁所有表,开启窗口1

    mysql> flush tables with read lock; 

    Query OK, 0 rows affected (0.00 sec) 

     

    mysql> show master status;          

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

    | File             | Position | Binlog_Do_DB |Binlog_Ignore_DB | 

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

    | mysql-bin.000003 |   194554 |              |                  | 

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

    1 row in set (0.00 sec) 

    PS:这个窗口不能exit,要一直保持知道tar完包为止。

    --重新开一个shell窗口,去数据文件目录tar包
    开启窗口2
    [root@myfstv_21_11 data]# tar -zcvf mysqla1.tar.gz mysqla
    tar -zcvf mysqla1.tar.gz mysqla  压缩完毕

    切换到窗口1,执行解锁命令
    mysql> unlocktables;              
    Query OK, 0 rows affected (0.00 sec)

    mysql>

    copy tar包到另外一个mysql库服务器上面,覆盖data目录,然后重启mysql数据库服务。

     

    2.4 percona提供的xtrabackup工具

    支持innodb的物理热备份,支持完全备份,增量备份,而且速度非常快,支持innodb存储引起的数据在不同数据库之间迁移,支持复制模式下的从机备份恢复备份恢复

    ,为了让xtrabackup支持更多的功能扩展,可以设立独立表空间,打开 innodb_file_per_table功能,启用之后可以支持单独的表备份。

    下载地址为:http://www.percona.com/software/percona-xtrabackup

    参考文章地址:http://blog.csdn.net/mchdba/article/details/11563027

     

    支持在线热备与恢复

    大数据量的时候,备份恢复都比较快快

     

    xtrabackup可以实现完全备份,增量备份,以及部分备份。

     

    xtrabackup备份原理 

     xtraBackup基于InnoDB的crash-recovery功能。它会复制innodb的data file,由于不锁表,复制出来的数据是不一致的,在恢复的时候使用crash-recovery,使得数据恢复一致。 

     

     InnoDB维护了一个redo log,又称为transaction log,事务日志,它包含了innodb数据的所有改动情况。当InnoDB启动的时候,它会先去检查data file和transaction log,并且会做二步操作:

     

      xtraBackup在备份的时候, 一页一页地复制innodb的数据,而且不锁定表,与此同时,XtraBackup还有另外一个线程监视着transactions log,一旦log发生变化,就把变化过的log pages复制走。为什么要急着复制走呢?因为transactions log文件大小有限,写满之后,就会从头再开始写,所以新数据可能会覆盖到旧的数据。 

      在prepare过程中,XtraBackup使用复制到的transactionslog对备份出来的innodb data file进行crash recovery。 

     

     

     ----------------------------------------------------------------------------------------------------------------

    原博客地址:    http://blog.itpub.net/26230597/viewspace-1460065/
    原作者:黄杉(mchdba)
    ----------------------------------------------------------------------------------------------------------------

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-1460921/,如需转载,请注明出处,否则将追究法律责任。

    展开全文
  • MySQL备份分类

    2021-03-26 12:27:11
    MySQL数据库的备份分类 从“一切皆文件”的角度,都可以统称为“文件备份”。但是又可依据文件的不同,划分为两大类:逻辑备份和物理备份。 一、逻辑备份 逻辑备份,顾名思义,是根据人的逻辑去备份,就是人的...

    MySQL数据库的备份分类

    目录

    一、逻辑备份

    1.1文件形式

    1.2优缺点

    二、物理备份

    2.1冷备份

    2.2热备份

    2.3优缺点



    从“一切皆文件”的角度,都可以统称为“文件备份”。但是又可依据文件特点的不同,划分为两大类:逻辑备份物理备份。

    一、逻辑备份

    逻辑备份,顾名思义,是根据人的逻辑的理解去备份。具体来说,人在逻辑上认为,数据是一行一行地存在表中的,就像Excel一样(但是实际上是B+树的结构)

    1.1文件形式

    逻辑备份的文件,是可读的,如.sql文件(文件主要由create语句和insert语句组成)或txt文件(主要是用指定分隔符分隔开的,一行一行地数据)。

    1.2优缺点

    优点:(1)逻辑备份的文件,各个引擎都可用。

              (2)可读性强,如果是.sql文件,可以直接使用文本编辑器打开,便于检查验证。

    缺点:恢复时间慢,尤其当数据库很庞大时。

    二、物理备份

    即数据库实际的裸文件,如INNODB引擎表的数据存储文件:.ibd文件,和表结构定义文件.frm文件(注:不过,从MySQL8.0+开始,取消了.frm文件)。物理备份又分为冷备份热备份

    2.1冷备份

    冷备份,即停止MySQL服务后,直接复制数据库裸文件(如INNODB引擎表的.ibd文件,共享表空间文件等)。

    2.2热备份

    热备份与冷备份的区别在于,不停止数据库,在数据库正在运行时,直接备份数据库文件。

    需要注意的是,热备份,不同的存储引擎,热备份的方式不同。如常用的MyISAM引擎和InnoDB,:

    MyISAM:使用mysqlhotcopy 工具

    InnoDB:需要使用第三方的热备工具,如ibbacup(收费,但可免费使用1个月)、Xtrabackup(开源、免费)

    2.3优缺点

    优点:恢复速度快,只要把文件复制到对应的目录位置即可。

    缺点:

    (1)不同引擎,备份方式不一样

    (2)不可读(用文编辑器直接打开.ibd文件后,其内容是人无法理解的,有兴趣的可以试下)。比如像通过随机抽检一条数据,来确认备份是否完整,是不可行的。

           (3)冷备份的文件通常要比逻辑备份的文件大很多。因为表空间中存放着很多其他信息,如undo段,插入缓冲等。

    展开全文
  • 数据库备份种类依照数据库大小备份,有四种类型,分别应用于不同场合,以下简要介绍一下:1.1全然备份这是大多数人经常使用的方式,它能够备份整个数据库,包括用户表、系统表、索引、视图和存储过程等全部数据库...

     


    1。数据库备份种类

    依照数据库大小备份,有四种类型,分别应用于不同场合,以下简要介绍一下:

    1.1全然备份

    这是大多数人经常使用的方式,它能够备份整个数据库,包括用户表、系统表、索引、视图和存储过程等全部数据库对象。但它须要花费很多其它的时间和空间。所以,一般推荐一周做一次全然备份。

     

    1.2事务日志备份

    事务日志是一个单独的文件,它记录数据库的改变,备份的时候仅仅须要复制自上次备份以来对数据库所做的改变。所以仅仅须要非常少的时间。

    为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。

     

    1.3差异备份

    也叫增量备份。它是仅仅备份数据库一部分的还有一种方法。它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的全然备份小,由于它仅仅包括自上次全然备份以来所改变的数据库。它的长处是存储和恢复速度快。推荐每天做一次差异备份。

     

    1.4文件备份

    数据库能够由硬盘上的很多文件构成。假设这个数据库非常大,并且一个晚上也不能将它备份完,那么能够使用文件备份每晚备份数据库的一部分。由于普通情况下数据库不会大到必须使用多个文件存储,所以这样的备份不是非经常常使用。

    依照数据库的状态可分为三种:

    1.冷备份,此时数据库处于关闭状态,能够较好的保证数据库的完整性。

    2.热备份,数据库正处于运行状态,这样的方法依赖于数据库的[1] 日志文件进行备份。

    3.逻辑备份。使用软件从数据库中提取数据并将结果写到一个文件上。

     

    2,备份工具简单介绍

    mysql依照备份恢复方式分为逻辑备份和物理备份。

    逻辑备份是备份sql语句,在恢复的时候运行备份的sql语句实现数据库数据的重现,物理备份就是备份数据文件了,比較形象点就是cp下数据文件,但真正备份的时候自然不是的cp这么简单。

     

    这2种备份各有优劣,一般来说,物理备份恢复速度比較快,占用空间比較大。逻辑备份速度比較慢。占用空间比較小。

    官方地址:http://dev.mysql.com/doc/refman/5.6/en/backup-and-recovery.html

    2.1 mysqldump工具

    Mysqldump是mysql自带的备份工具,文件夹在bin文件夹以下:/usr/local/mysql/bin/mysqldump。支持基于innodb的热备份。可是由于是逻辑备份,所以速度不是非常快。适合备份数据比較小的场景。

    Mysqldump全然备份+二进制日志能够实现基于时间点的恢复。

     

    对myisam存储引擎的表,仅仅能使用温备份。这个时候要防止数据的写入,所以先加上读锁。

    这个时候也能够进入数据库手动加读锁,只是这样比較麻烦,能够在mysqldump工具中直接有一个加锁的选择,就是 --lock-all-tables ,比如mysqldump --databases test --lock-all-tables --flush-logs > /tmp/backup_test_`date+%F-%H-%M`.sql。

     假设是备份单张表,直接在库名字test后面加上表名字就可以。

     

    对于innodb存储引擎表,能够热备。不必对数据库进行加锁的操作,加一个选项能够进行热备份。--single-transaction,比如:mysqldump --databases test --single-transaction --flush-logs--master-data=2> /tmp/backup_test_`date +%F-%H-%M`.sql。

     

    PS:注意点。恢复的时候记得关闭二进制日志:

    mysql> set sql_log_bin=0;

    由于这是基于逻辑备份方式。所以运行sql会插入数据。会记录到二进制日志里面去。由于这事恢复。所以插入的二进制日志基本没有啥意思,能够关闭掉,缩短恢复时间。

     

    2.2 基于LVM快照备份

    在物理备份中,有基于文件系统的物理备份(LVM的快照),也能够直接用tar之类的命令对整个数据库文件夹进行打包备份。可是这些仅仅能进行泠备份。不同的存储引擎备份的也不一样,myisam自己主动备份到表级别,而innodb不开启独立表空间的话仅仅能备份整个数据库。

     

    以下就介绍下使用LVM的快照功能进行备份为了安全,首先在数据库上施加读锁

    mysql>FLUSH TABLES WITH READ LOCK;

     

    刷新一下二进制日志。便于做时间点恢复

    mysql>FLUSH LOGS;

     

    然后创建快照卷

    lvcreate –L 1G –s –n data-snap –p –r/dev/myvg/mydata

     

    最后进入数据库释放读锁

    UNLOCK TABLES;

     

    挂载快照卷进行备份

    mount –r /dev/myvg/data-snap /mnt/snap

     

    然后对/mnt/snap下的文件进行打包备份

    还原的时候,关闭mysqld,然后备份二进制日志后将原来备份的文件还原进去,然后通过二进制日志还原到出错的时间点(通过二进制还原时间点的时候不要忘了暂时关闭二进制日志)

     

    在2010年到2012年之间,mysql数据库部署在亚马逊的云环境中,他们提供了LVM快照,蛮方便快捷的。使用lvm快照。在亚马逊的万兆网络下,恢复起来也迅速无比。

     

    2.3 tar包备份

    0,准备从库第一次数据备份,暂时锁全部表,开启窗体1

    mysql> flush tables with read lock; 

    Query OK, 0 rows affected (0.00 sec) 

     

    mysql> show master status;          

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

    | File             | Position | Binlog_Do_DB |Binlog_Ignore_DB | 

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

    | mysql-bin.000003 |   194554 |              |                  | 

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

    1 row in set (0.00 sec) 

    PS:这个窗体不能exit。要一直保持知道tar完包为止。

    --又一次开一个shell窗体,去数据文件文件夹tar包
    开启窗体2
    [root@myfstv_21_11 data]# tar -zcvf mysqla1.tar.gz mysqla
    tar -zcvf mysqla1.tar.gz mysqla  压缩完成

    切换到窗体1,运行解锁命令
    mysql> unlocktables;              
    Query OK, 0 rows affected (0.00 sec)

    mysql>

    copy tar包到另外一个mysql库server上面。覆盖data文件夹,然后重新启动mysql数据库服务。

     

    2.4 percona提供的xtrabackup工具

    支持innodb的物理热备份,支持全然备份,增量备份,并且速度非常快,支持innodb存储引起的数据在不同数据库之间迁移。支持复制模式下的从机备份恢复备份恢复

    。为了让xtrabackup支持很多其它的功能扩展。能够设立独立表空间。打开 innodb_file_per_table功能,启用之后能够支持单独的表备份。

    下载地址为:http://www.percona.com/software/percona-xtrabackup

    參考文章地址:http://blog.csdn.net/mchdba/article/details/11563027

     

    支持在线热备与恢复

    大数据量的时候。备份恢复都比较快快

     

    xtrabackup能够实现全然备份,增量备份,以及部分备份。

     

    xtrabackup备份原理 

     xtraBackup基于InnoDB的crash-recovery功能。

    它会复制innodb的data file,由于不锁表,复制出来的数据是不一致的。在恢复的时候使用crash-recovery,使得数据恢复一致。 

     

     InnoDB维护了一个redo log,又称为transaction log。事务日志。它包括了innodb数据的全部修改情况。当InnoDB启动的时候,它会先去检查data file和transaction log。并且会做二步操作:

     

      xtraBackup在备份的时候, 一页一页地复制innodb的数据,并且不锁定表,与此同一时候。XtraBackup还有另外一个线程监视着transactions log,一旦log发生变化,就把变化过的log pages复制走。为什么要急着复制走呢?由于transactions log文件大小有限,写满之后。就会从头再開始写。所以新数据可能会覆盖到旧的数据。 

      在prepare过程中,XtraBackup使用拷贝到的transactionslog对备份出来的innodb data file进行crash recovery。

     

     

     

     ----------------------------------------------------------------------------------------------------------------
    <版权所有,文章同意转载,但必须以链接方式注明源地址,否则追究法律责任!>
    原博客地址:       http://blog.itpub.net/26230597/viewspace-1460065/
    原作者:黄杉(mchdba)
    ----------------------------------------------------------------------------------------------------------------

    转载于:https://www.cnblogs.com/claireyuancy/p/7232491.html

    展开全文
  • 1、数据库备份种类 MySQL按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下: 1.1 完全备份 这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等...
  • Greenplum备份种类

    2019-03-12 18:12:21
    目前GP支持的备份方式有: 1)pg_dump非并行备份备份文件存放在master上,适合数据量小的备份场景,简单易用; 2)gpcrondump并行备份,master备份元数据,计算实例并行备份各自的数据; 3)冷备,停库后,将...
  • 备份种类的介绍及组合备份方案 完全备份 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。 ( 在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。...
  • 备份种类的介绍及组合备份方案完全备份备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。( 在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。差异备份...
  • 文章目录一:备份分类1.1:从数据库的备份策略角度,备份可分为二:热备份的重要性2.1:造成数据丢失的原因三:常见的备份方法3.1:物理冷备3.2:专用备份工具mydump或mysqlhotcopy3.3:启用二进制日志进行增量...
  • 容灾备份分类

    2020-11-23 21:12:41
    1、容灾分类 从其对系统的保护程度来分,可以将容灾系统分为:数据容灾和应用容灾 数据容灾,就是指建立一个异地的数据系统,该系统是本地关键应用数据的一个实时复制。 数据容灾 数据容灾,指建立一个异地的数据...
  • ORACLE备份种类

    2010-08-05 18:59:35
    Oracle备份包括逻辑备份和物理备份。逻辑备份是指使用EXPORT工具进行备份,包括exp/imp和expdb/impdb,生成dmp文件 物理备份,物理备份是指备份数据库文件,包括数据文件、控制文件、参数文件和归档日志文件等。 ...
  • 数据库备份种类

    2011-05-05 14:54:00
    对于oracle数据库只有物理备份和逻辑备份  物理备份:是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。  逻辑备份:是利用SQL语言从数据库中抽取数据并存于...
  • RMAN 备份分类

    2015-06-07 15:07:33
    1 镜像副本 backup as copy foramt '/........' tablespace system 镜像副本方式备份系统表空间 备份控制文件 数据文件 归档日志文件 RMA...
  • 备份种类的介绍及组合备份方案 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,920
精华内容 43,168
关键字:

备份的种类