真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

初識(shí)MariaDB之4——Xtrabackup備份與還原

一、基礎(chǔ)知識(shí)

成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營(yíng)銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

MySQLdump是mysql自帶的一個(gè)單線程的邏輯備份工具,當(dāng)數(shù)據(jù)量很大時(shí),使用mysqldump備份的時(shí)間會(huì)非常長(zhǎng),且無(wú)法做增量備份,xtrabackup是一款基于底層塊復(fù)制、開源的備份工具,可以對(duì)數(shù)據(jù)庫(kù)在線實(shí)現(xiàn)備份。xtrabackup支持對(duì)Innodb和Xtradb存儲(chǔ)引擎的完全、增量和差異備份,對(duì)于不支持事物的MyISAM存儲(chǔ)引擎只能完全備份。

二、備份工具

初識(shí)MariaDB之4——Xtrabackup備份與還原初識(shí)MariaDB之4——Xtrabackup備份與還原

Xtrabackup工具用到的命令為xtrabackup和innobackupex,而innobackupex又是將xtrabackup使用perl腳本語(yǔ)言封裝的二次版本,其目的時(shí)為了便于使用

初識(shí)MariaDB之4——Xtrabackup備份與還原初識(shí)MariaDB之4——Xtrabackup備份與還原

本文重點(diǎn)介紹innobackupex為例,介紹完全備份、增量備份和差異備份

三、實(shí)驗(yàn)說(shuō)明

本次實(shí)驗(yàn)采用CentOS7.4系統(tǒng),數(shù)據(jù)庫(kù)版本為MariaDB 5.5.56,innobackupex 版本為2.3.6。

1.完全備份

(1)創(chuàng)建備份賬戶

MariaDB [hellodb]> grant all privileges on *.* to 'backup'@'localhost' identified by 'backuppassword';

MariaDB [hellodb]> flush privileges;

(2)創(chuàng)建備份目錄

[root@node1 ~]# mkdir -pv /data/back

[root@node1 ~]# chown -R mysql.mysql /data/back

(3)執(zhí)行備份

innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backuppassword  /data/back

看到completed OK!提示后表示備份成功,上述命令還可以使用--databases="db1 db2"來(lái)備份制定的庫(kù),或者使用--no-timestamp不自動(dòng)生成時(shí)間戳

初識(shí)MariaDB之4——Xtrabackup備份與還原初識(shí)MariaDB之4——Xtrabackup備份與還原

(4)關(guān)閉數(shù)據(jù)庫(kù)服務(wù),刪除數(shù)據(jù),模擬數(shù)據(jù)庫(kù)損壞

[root@node1 back]# systemctl stop mariadb.service

(5)恢復(fù)前準(zhǔn)備(將已提交的事物同步到磁盤,未提交的事務(wù)回滾)

innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backuppassword  --apply-log /data/back/2018-04-24_07-38-47/

(6)恢復(fù)數(shù)據(jù)(如果用root賬號(hào)操作,需要更改恢復(fù)后數(shù)據(jù)目錄的屬組和屬主)

innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backuppassword  --copy-back /data/back/2018-04-24_07-38-47/

(7)重啟數(shù)據(jù)庫(kù)服務(wù),至此操作完成

2.增量備份

增量備份的實(shí)現(xiàn)是根據(jù)每一個(gè)Innodb頁(yè)都有一個(gè)log sequence number(LSN),當(dāng)數(shù)據(jù)發(fā)生變化時(shí),其所在的Innodb頁(yè)的LSN會(huì)自動(dòng)增長(zhǎng),增量備份就是根據(jù)LSN的范圍序列實(shí)現(xiàn)備份,每次備份的LSN號(hào)可以在xtrabackup_checkpoints中查看。其備份的方式與全備略有不同,增量備份需要給予一個(gè)全被或者上一次增量來(lái)進(jìn)行,具體步驟如下:

(1)創(chuàng)建一個(gè)完全備份

[root@node1 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backuppassword  /data/back

(2)基于已創(chuàng)建的完全備份,做增量備份

[root@node1 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backuppassword --incremental /data/incremental/ --incremental-basedir=/data/back/2018-04-25_06-32-18/

(3)基于已第一次創(chuàng)建的增量備份,做第二次增量備份(將--incremental-basedir指向完備份,則做的是差異備份)

[root@node1 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backuppassword --incremental /data/incremental/ --incremental-basedir=/data/incremental/2018-04-25_06-34-15/

(4)刪除數(shù)據(jù)庫(kù)文件,模擬故障(提前保存二進(jìn)制文件,備份到故障發(fā)生點(diǎn)之間的還原還需要通過(guò)二進(jìn)制文件)

[root@node1 ~]# cat /data/incremental/2018-04-25_06-39-57/xtrabackup_binlog_info

[root@node1 ~]# mysqlbinlog --start-position=1721 mysql-binlog.000002 > /data/incremental/binlog.sql

[root@node1 ~]# systemctl stop mariadb.service

[root@node1 ~]# rm -rf /var/lib/mysql*

(5)恢復(fù)前準(zhǔn)備(出除最后一個(gè)增量外其他都需要使用--redo-only選項(xiàng),其作用是不進(jìn)行回滾操作,因?yàn)樵隽?中未提交的事務(wù)在增量2中可能會(huì)提交,所以不回滾。最后1個(gè)增量也可以用--redo-only選項(xiàng),就算他不回滾,根據(jù)mariadb的crash-recover機(jī)制,啟動(dòng)時(shí)也會(huì)回滾未提交事務(wù))

[root@node1 ~]# innobackupex --apply-log --redo-only /data/back/2018-04-25_06-32-18/

[root@node1 ~]# innobackupex --apply-log --redo-only /data/back/2018-04-25_06-32-18/ --incremental-dir=/data/incremental/2018-04-25_06-34-15/

[root@node1 ~]# innobackupex --apply-log --redo-only /data/back/2018-04-25_06-32-18/ --incremental-dir=/data/incremental/2018-04-25_06-39-57/

[root@node1 ~]# chown -R mysql.mysql /var/lib/mysql

(6)恢復(fù)數(shù)據(jù)庫(kù)

[root@node1 ~]# innobackupex --copy-back  /data/back/2018-04-25_06-32-18/

[root@node1 ~]# mysql < /data/incremental/binlog.sql

補(bǔ)充說(shuō)明:

1.xtrabackup是通過(guò)讀取LSN從而指導(dǎo)數(shù)據(jù)的更改的每一個(gè)innodb page頁(yè)的大小默認(rèn)是16K,實(shí)際測(cè)試中發(fā)現(xiàn),如果數(shù)據(jù)量變化很小,即使binlog中的position發(fā)生了變了,使用增量備份的時(shí)候LSN號(hào)不會(huì)發(fā)生變化,但是恢復(fù)后的數(shù)據(jù)是一致的

初識(shí)MariaDB之4——Xtrabackup備份與還原初識(shí)MariaDB之4——Xtrabackup備份與還原

2.在恢復(fù)增量備份的準(zhǔn)備階段時(shí)--incremental-dir選項(xiàng)后面不能使用相對(duì)路徑,否則會(huì)提示找不到要恢復(fù)增量備份的xtrabackup_logfile


當(dāng)前標(biāo)題:初識(shí)MariaDB之4——Xtrabackup備份與還原
瀏覽路徑:http://weahome.cn/article/jsoohe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部