<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        使用xtrabackup在線增量備份及恢復(fù)數(shù)據(jù)庫(kù)_MySQL

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 20:08:22
        文檔

        使用xtrabackup在線增量備份及恢復(fù)數(shù)據(jù)庫(kù)_MySQL

        使用xtrabackup在線增量備份及恢復(fù)數(shù)據(jù)庫(kù)_MySQL:一、Percona Xtrabackup 簡(jiǎn)介 1、Xtrabackup bin目錄文件 介紹 1)innobackupex innobackupex 是xtrabackup的一個(gè)符號(hào)鏈接 . innobackupex still supports all features and syntax as 2.2 version
        推薦度:
        導(dǎo)讀使用xtrabackup在線增量備份及恢復(fù)數(shù)據(jù)庫(kù)_MySQL:一、Percona Xtrabackup 簡(jiǎn)介 1、Xtrabackup bin目錄文件 介紹 1)innobackupex innobackupex 是xtrabackup的一個(gè)符號(hào)鏈接 . innobackupex still supports all features and syntax as 2.2 version

        一、Percona Xtrabackup 簡(jiǎn)介

        1、Xtrabackup bin目錄文件 介紹

        1)innobackupex

        innobackupex 是xtrabackup的一個(gè)符號(hào)鏈接 . innobackupex still supports all features and syntax as 2.2 version did, but is now deprecated and will be removed in next major release.

        2)xtrabackup

        一個(gè)由C編譯而來(lái)的二進(jìn)制文件,可以整備MySQL database instance with MyISAM, InnoDB, and XtraDB tables

        3)xbcrypt

        用來(lái)加密或解密備份的數(shù)據(jù)

        4)xbstream

        用來(lái)解壓或壓縮xbstream格式的壓縮文件

        5)xbcloud

        utility used for downloading and uploading full or part of xbstream archive from/to cloud.

        2、Percona XtraBackup info

        是開源免費(fèi)的MySQL數(shù)據(jù)庫(kù)熱備份軟件,它能對(duì)InnoDB和XtraDB存儲(chǔ)引擎的數(shù)據(jù)庫(kù)非阻塞地備份(對(duì)于MyISAM的備份同樣需要加表鎖)

        you can achieve the following benefits: (https://www.percona.com/doc/percona-xtrabackup/2.3/intro.html)

        Backups that complete quickly and reliably

        Uninterrupted transaction processing during backups

        Savings on disk space and network bandwidth

        Automatic backup verification

        Higher uptime due to faster restore time

        features

        Create hot InnoDB backups without pausing your database

        Make incremental backups of MySQL

        Stream compressed MySQL backups to another server

        Move tables between MySQL servers on-line

        Create new MySQL replication slaves easily

        Backup MySQL without adding load to the server

        無(wú)需停止數(shù)據(jù)庫(kù)進(jìn)行InnoDB熱備

        增量備份MySQL

        流壓縮到傳輸?shù)狡渌?wù)器

        在線移動(dòng)表

        能比較容易地創(chuàng)建主從同步

        備份MySQL時(shí)不會(huì)增大服務(wù)器負(fù)載

        3、Xtrabackup工具支持對(duì)InnoDB存儲(chǔ)引擎的增量備份,工作原理如下

        1、在InnoDB內(nèi)部會(huì)維護(hù)一個(gè)redo/undo日志文件,也可以叫做事務(wù)日志文件。事務(wù)日志會(huì)存儲(chǔ)每一個(gè)InnoDB表數(shù)據(jù)的記錄修改。當(dāng)InnoDB啟動(dòng)時(shí),InnoDB會(huì)檢查數(shù)據(jù)文件和事務(wù)日志,并執(zhí)行兩個(gè)步驟:它應(yīng)用(前滾)已經(jīng)提交的事務(wù)日志到數(shù)據(jù)文件,并將修改過(guò)但沒(méi)有提交的數(shù)據(jù)進(jìn)行回滾操作。

        2、Xtrabackup在啟動(dòng)時(shí)會(huì)記住log sequence number(LSN),并且復(fù)制所有的數(shù)據(jù)文件。復(fù)制過(guò)程需要一些時(shí)間,所以這期間如果數(shù)據(jù)文件有改動(dòng),那么將會(huì)使數(shù)據(jù)庫(kù)處于一個(gè)不同的時(shí)間點(diǎn)。這時(shí),xtrabackup會(huì)運(yùn)行一個(gè)后臺(tái)進(jìn)程,用于監(jiān)視事務(wù)日志,并從事務(wù)日志復(fù)制最新的修改。Xtrabackup必須持續(xù)的做這個(gè)操作,是因?yàn)槭聞?wù)日志是會(huì)輪轉(zhuǎn)重復(fù)的寫入,并且事務(wù)日志可以被重用。所以xtrabackup自啟動(dòng)開始,就不停的將事務(wù)日志中每個(gè)數(shù)據(jù)文件的修改都記錄下來(lái)。

        3、上面就是xtrabackup的備份過(guò)程。接下來(lái)是準(zhǔn)備(prepare)過(guò)程,在這個(gè)過(guò)程中,xtrabackup使用之前復(fù)制的事務(wù)日志,對(duì)各個(gè)數(shù)據(jù)文件執(zhí)行災(zāi)難恢復(fù)(就像mysql剛啟動(dòng)時(shí)要做的一樣)。當(dāng)這個(gè)過(guò)程結(jié)束后,數(shù)據(jù)庫(kù)就可以做恢復(fù)還原了,這個(gè)過(guò)程在xtrabackup的編譯二進(jìn)制程序中實(shí)現(xiàn)。程序innobackupex可以允許我們備份MyISAM表和frm文件從而增加了便捷和功能。Innobackupex會(huì)啟動(dòng)xtrabackup,直到xtrabackup復(fù)制數(shù)據(jù)文件后,然后執(zhí)行FLUSH TABLES WITH READ LOCK來(lái)阻止新的寫入進(jìn)來(lái)并把MyISAM表數(shù)據(jù)刷到硬盤上,之后復(fù)制MyISAM數(shù)據(jù)文件,最后釋放鎖。

        4、備份MyISAM和InnoDB表最終會(huì)處于一致,在準(zhǔn)備(prepare)過(guò)程結(jié)束后,InnoDB表數(shù)據(jù)已經(jīng)前滾到整個(gè)備份結(jié)束的點(diǎn),而不是回滾到xtrabackup剛開始時(shí)的點(diǎn)。這個(gè)時(shí)間點(diǎn)與執(zhí)行FLUSH TABLES WITH READ LOCK的時(shí)間點(diǎn)相同,所以myisam表數(shù)據(jù)與InnoDB表數(shù)據(jù)是同步的。類似oracle的,InnoDB的prepare過(guò)程可以稱為recover(恢復(fù)),myisam的數(shù)據(jù)復(fù)制過(guò)程可以稱為restore(還原)。

        5、Xtrabackup 和 innobackupex這兩個(gè)工具都提供了許多前文沒(méi)有提到的功能特點(diǎn)。手冊(cè)上有對(duì)各個(gè)功能都有詳細(xì)的介紹。簡(jiǎn)單介紹下,這些工具提供了如流(streaming)備份,增量(incremental)備份等,通過(guò)復(fù)制數(shù)據(jù)文件,復(fù)制日志文件和提交日志到數(shù)據(jù)文件(前滾)實(shí)現(xiàn)了各種復(fù)合備份方式。

        二、安裝xtrabackup

        1、安裝

        yum -y install perl perl-devel libaio libaio-devel

        yum -y install perl-DBI perl-DBD-MySQL perl-TermReadKey perl-devel perl-Time-HiRes

        cd /usr/local/src

        wget -c https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.2/ \

        binary/tarball/percona-xtrabackup-2.3.2-Linux-x86_64.tar.gz

        tar -zxf percona-xtrabackup-2.3.2-Linux-x86_64.tar.gz

        cd percona-xtrabackup-2.3.2-Linux-x86_64/

        mkdir /usr/local/xtrabackup

        mv bin /usr/local/xtrabackup/

        ln -s /usr/local/xtrabackup/bin/* /usr/bin/

        2、修改my.cnf

        [mysqld]

        datadir=/var/lib/mysql

        innodb_data_home_dir = /data/mysql/ibdata

        innodb_log_group_home_dir = /data/mysql/iblogs

        innodb_data_file_path=ibdata1:10M;ibdata2:10M:autoextend

        innodb_log_files_in_group = 2

        innodb_log_file_size = 1G

        三、全部數(shù)據(jù)庫(kù)備份與還原

        1、備份

        //全部數(shù)據(jù)庫(kù)備份

        innobackupex --user=root --password=123456 /data/backup/

        //單數(shù)據(jù)庫(kù)備份

        innobackupex --user=root --password=123456 --database=backup_test /data/backup/

        //多庫(kù)

        innobackupex--user=root --password=123456 --include='dba.*|dbb.*' /data/backup/

        //多表

        innobackupex --user=root --password=123456 --include='dba.tablea|dbb.tableb' /data/backup/

        //數(shù)據(jù)庫(kù)備份并壓縮

        log=zztx01_`date +%F_%H-%M-%S`.log

        db=zztx01_`date +%F_%H-%M-%S`.tar.gz

        innobackupex --user=root --stream=tar /data/backup 2>/data/backup/$log | gzip 1> /data/backup/$db

        //不過(guò)注意解壓需要手動(dòng)進(jìn)行,并加入 -i 的參數(shù),否則無(wú)法解壓出所有文件,疑惑了好長(zhǎng)時(shí)間

        //如果有錯(cuò)誤可以加上 --defaults-file=/etc/my.cnf

        2、還原

        service mysqld stop

        mv /data/mysql /data/mysql_bak && mkdir -p /data/mysql

        //--apply-log選項(xiàng)的命令是準(zhǔn)備在一個(gè)備份上啟動(dòng)mysql服務(wù)

        innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /data/backup/2015-09-18_16-35-12

        //--copy-back 選項(xiàng)的命令從備份目錄拷貝數(shù)據(jù),索引,日志到my.cnf文件里規(guī)定的初始位置

        innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /data/backup/2015-09-18_16-35-12

        chown -R mysql.mysql /data/mysq

        service mysqld start

        四、增量備份與還原

        1、創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)和表

        create database backup_test; //創(chuàng)建庫(kù)

        CREATE TABLE `backup` ( //創(chuàng)建表

        `id` int(11) NOT NULL AUTO_INCREMENT ,

        `name` varchar(20) NOT NULL DEFAULT '' ,

        `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,

        `del` tinyint(1) NOT NULL DEFAULT '0',

        PRIMARY KEY (`id`)

        ) ENGINE=myisam DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

        2、增量備份

        #--incremental:增量備份的文件夾

        #--incremental-dir:針對(duì)哪個(gè)做增量備份

        //第一次備份

        mysql> INSERT INTO backup (name) VALUES ('xx'),('xxxx'); //插入數(shù)據(jù)

        innobackupex --user=root --incremental-basedir=/data/backup/2015-09-18_16-35-12 --incremental /data/backup/

        //再次備份

        mysql> INSERT INTO backup (name) VALUES ('test'),('testd'); //在插入數(shù)據(jù)

        innobackupex --user=root --incremental-basedir=/data/backup/2015-09-18_18-05-20 --incremental /data/backup/

        3、查看增量備份記錄文件

        [root@localhost 2015-09-18_16-35-12]# cat xtrabackup_checkpoints //全備目錄下的文件

        backup_type = full-prepared

        from_lsn = 0 //全備起始為0

        to_lsn = 23853959

        last_lsn = 23853959

        compact = 0

        [root@localhost 2015-09-18_18-05-20]# cat xtrabackup_checkpoints //第一次增量備份目錄下的文件

        backup_type = incremental

        from_lsn = 23853959

        to_lsn = 23854112

        last_lsn = 23854112

        compact = 0

        [root@localhost 2015-09-18_18-11-43]# cat xtrabackup_checkpoints //第二次增量備份目錄下的文件

        backup_type = incremental

        from_lsn = 23854112

        to_lsn = 23854712

        last_lsn = 23854712

        compact = 0

        增量備份做完后,把backup_test這個(gè)數(shù)據(jù)庫(kù)刪除掉,drop database backup_test;這樣可以對(duì)比還原后

        4、增量還原

        分為兩個(gè)步驟

        a.prepare

        innobackupex --apply-log /path/to/BACKUP-DIR

        此時(shí)數(shù)據(jù)可以被程序訪問(wèn)使用;可使用—use-memory選項(xiàng)指定所用內(nèi)存以加快進(jìn)度,默認(rèn)100M;

        b.recover

        innobackupex --copy-back /path/to/BACKUP-DIR

        從my.cnf讀取datadir/innodb_data_home_dir/innodb_data_file_path等變量

        先復(fù)制MyISAM表,然后是innodb表,最后為logfile;--data-dir目錄必須為空

        開始合并

        innobackupex --apply-log --redo-only /data/backup/2015-09-18_16-35-12

        innobackupex --apply-log --redo-only --incremental /data/backup/2015-09-18_16-35-12 --incremental-dir=/data/backup/2015-09-18_18-05-20

        innobackupex --apply-log --redo-only --incremental /data/backup/2015-09-18_16-35-12 --incremental-dir=/data/backup/2015-09-18_18-11-43

        #/data/backup/2015-09-18_16-35-12 全備份目錄

        #/data/backup/2015-09-18_18-05-20 第一次增量備份產(chǎn)生的目錄

        #/data/backup/2015-09-18_18-11-43 第二次增量備份產(chǎn)生的目錄

        恢復(fù)數(shù)據(jù)

        service mysqld stop

        innobackupex --copy-back /data/backup/2015-09-18_16-35-12

        service mysqld start

        五、innobackup 常用參數(shù)說(shuō)明

        --defaults-file

        同xtrabackup的--defaults-file參數(shù)

        --apply-log

        對(duì)xtrabackup的--prepare參數(shù)的封裝

        --copy-back

        做數(shù)據(jù)恢復(fù)時(shí)將備份數(shù)據(jù)文件拷貝到MySQL服務(wù)器的datadir ;

        --remote-host=HOSTNAME

        通過(guò)ssh將備份數(shù)據(jù)存儲(chǔ)到進(jìn)程服務(wù)器上;

        --stream=[tar]

        備 份文件輸出格式, tar時(shí)使用tar4ibd , 該文件可在XtarBackup binary文件中獲得.如果備份時(shí)有指定--stream=tar, 則tar4ibd文件所處目錄一定要在$PATH中(因?yàn)槭褂玫氖莟ar4ibd去壓縮, 在XtraBackup的binary包中可獲得該文件)。

        在 使用參數(shù)stream=tar備份的時(shí)候,你的xtrabackup_logfile可能會(huì)臨時(shí)放在/tmp目錄下,如果你備份的時(shí)候并發(fā)寫入較大的話 xtrabackup_logfile可能會(huì)很大(5G+),很可能會(huì)撐滿你的/tmp目錄,可以通過(guò)參數(shù)--tmpdir指定目錄來(lái)解決這個(gè)問(wèn)題。

        --tmpdir=DIRECTORY

        當(dāng)有指定--remote-host or --stream時(shí), 事務(wù)日志臨時(shí)存儲(chǔ)的目錄, 默認(rèn)采用MySQL配置文件中所指定的臨時(shí)目錄tmpdir

        --redo-only --apply-log組,

        強(qiáng)制備份日志時(shí)只redo ,跳過(guò)rollback。這在做增量備份時(shí)非常必要。

        --use-memory=#

        該參數(shù)在prepare的時(shí)候使用,控制prepare時(shí)innodb實(shí)例使用的內(nèi)存量

        --throttle=IOS

        同xtrabackup的--throttle參數(shù)

        --sleep=是給ibbackup使用的,指定每備份1M數(shù)據(jù),過(guò)程停止拷貝多少毫秒,也是為了在備份時(shí)盡量減小對(duì)正常業(yè)務(wù)的影響,具體可以查看ibbackup的手冊(cè) ;

        --compress[=LEVEL]

        對(duì)備份數(shù)據(jù)迚行壓縮,僅支持ibbackup,xtrabackup還沒(méi)有實(shí)現(xiàn);

        --include=REGEXP

        對(duì) xtrabackup參數(shù)--tables的封裝,也支持ibbackup。備份包含的庫(kù)表,例如:--include="test.*",意思是要備份 test庫(kù)中所有的表。如果需要全備份,則省略這個(gè)參數(shù);如果需要備份test庫(kù)下的2個(gè)表:test1和test2,則寫 成:--include="test.test1|test.test2"。也可以使用通配符,如:--include="test.test*"。

        --databases=LIST

        列出需要備份的databases,如果沒(méi)有指定該參數(shù),所有包含MyISAM和InnoDB表的database都會(huì)被備份;

        --uncompress

        解壓備份的數(shù)據(jù)文件,支持ibbackup,xtrabackup還沒(méi)有實(shí)現(xiàn)該功能;

        --slave-info,

        備 份從庫(kù), 加上--slave-info備份目錄下會(huì)多生成一個(gè)xtrabackup_slave_info 文件, 這里會(huì)保存主日志文件以及偏移, 文件內(nèi)容類似于:CHANGE MASTER TO MASTER_LOG_FILE='', MASTER_LOG_POS=0

        --socket=SOCKET

        指定mysql.sock所在位置,以便備份進(jìn)程登錄mysql.

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        使用xtrabackup在線增量備份及恢復(fù)數(shù)據(jù)庫(kù)_MySQL

        使用xtrabackup在線增量備份及恢復(fù)數(shù)據(jù)庫(kù)_MySQL:一、Percona Xtrabackup 簡(jiǎn)介 1、Xtrabackup bin目錄文件 介紹 1)innobackupex innobackupex 是xtrabackup的一個(gè)符號(hào)鏈接 . innobackupex still supports all features and syntax as 2.2 version
        推薦度:
        標(biāo)簽: 恢復(fù) 備份 在線
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 美女视频黄免费亚洲| 免费观看在线禁片| 日韩免费a级在线观看| 亚洲日韩国产精品无码av| 成人免费视频88| 在线亚洲午夜片AV大片| 成人毛片免费观看视频在线| 亚洲人成人77777网站不卡| 羞羞漫画页面免费入口欢迎你| 全免费A级毛片免费看网站| 亚洲精品国产精品| j8又粗又长又硬又爽免费视频| 亚洲日韩人妻第一页| 亚洲六月丁香六月婷婷蜜芽| 福利免费观看午夜体检区| 亚洲精品亚洲人成在线观看| 亚洲AV综合永久无码精品天堂| 日本免费人成黄页网观看视频| 黄色a级片免费看| 亚洲伊人久久大香线蕉综合图片| 日本免费A级毛一片| 久久综合亚洲色一区二区三区| 色哟哟国产精品免费观看| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 国产成人高清亚洲一区久久| 97在线视频免费播放| 久久精品国产亚洲AV蜜臀色欲| 青青青青青青久久久免费观看| 黄网站色视频免费看无下截| 国产亚洲人成无码网在线观看| **毛片免费观看久久精品| 久久国产亚洲精品| 久久久久亚洲爆乳少妇无| 一边摸一边爽一边叫床免费视频 | 深夜免费在线视频| 亚洲视频在线观看| 在线免费观看伊人三级电影| 亚洲午夜激情视频| 亚洲一区在线免费观看| 亚洲一区中文字幕在线观看| 亚洲第一区精品日韩在线播放|