成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

XtraBackup全量備份與恢復MySQL數(shù)據(jù)-創(chuàng)新互聯(lián)

防偽碼:沒有相當程度的孤獨是不可能有內(nèi)心的平和。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了姜堰免費建站歡迎大家使用!

1、概述

Percona XtraBackup(簡稱PXB)是 Percona 公司開發(fā)的一個用于 MySQL 數(shù)據(jù)庫物理熱備的備份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且開源,淘寶的RDS for MySQL的物理備份就是基于XtraBackup做的。

Xtrabackup有兩個主要的工具:xtrabackup、innobackupex

(1)xtrabackup是C/C++編譯的二進制文件,只能備份InnoDB和XtraDB兩種數(shù)據(jù)表,而不能備份MyISAM數(shù)據(jù)表;

(2)innobackupex則封裝了xtrabackup,是一個perl腳本封裝,所以能同時備份處理innodb和myisam,但在處理myisam時需要加一個讀鎖;

1.1 備份原理

整個備份過程如下圖:

XtraBackup全量備份與恢復MySQL數(shù)據(jù)

  1. innobackupex 在啟動后,會先 fork 一個進程,啟動 xtrabackup進程,然后就等待 xtrabackup 備份完 ibd 數(shù)據(jù)文件;

  2. xtrabackup 在備份 InnoDB 相關(guān)數(shù)據(jù)時,是有2種線程的,1種是 redo 拷貝線程,負責拷貝 redo 文件,1種是 ibd 拷貝線程,負責拷貝 ibd 文件;redo 拷貝線程只有一個,在 ibd 拷貝線程之前啟動,在 ibd 線程結(jié)束后結(jié)束。xtrabackup 進程開始執(zhí)行后,先啟動 redo 拷貝線程,從最新的 checkpoint 點開始順序拷貝 redo 日志;然后再啟動 ibd 數(shù)據(jù)拷貝線程,在 xtrabackup 拷貝 ibd 過程中,innobackupex 進程一直處于等待狀態(tài)(等待文件被創(chuàng)建)。

  3. xtrabackup 拷貝完成idb后,通知 innobackupex(通過創(chuàng)建文件),同時自己進入等待(redo 線程仍然繼續(xù)拷貝);

  4. innobackupex 收到 xtrabackup 通知后,執(zhí)行FLUSH TABLES WITH READ LOCK (FTWRL),取得一致性位點,然后開始備份非 InnoDB 文件(包括 frm、MYD、MYI、CSV、opt、par等)??截惙?InnoDB 文件過程中,因為數(shù)據(jù)庫處于全局只讀狀態(tài),如果在業(yè)務(wù)的主庫備份的話,要特別小心,非 InnoDB 表(主要是MyISAM)比較多的話整庫只讀時間就會比較長,這個影響一定要評估到。

  5. 當 innobackupex 拷貝完所有非 InnoDB 表文件后,通知 xtrabackup(通過刪文件) ,同時自己進入等待(等待另一個文件被創(chuàng)建);

  6. xtrabackup 收到 innobackupex 備份完非 InnoDB 通知后,就停止 redo 拷貝線程,然后通知 innobackupex redo log 拷貝完成(通過創(chuàng)建文件);

  7. innobackupex 收到 redo 備份完成通知后,就開始解鎖,執(zhí)行 UNLOCK TABLES;

  8. 最后 innobackupex 和 xtrabackup 進程各自完成收尾工作,如資源的釋放、寫備份元數(shù)據(jù)信息等,innobackupex 等待 xtrabackup 子進程結(jié)束后退出。

1.2 常用參數(shù)

--defaults-file:指明服務(wù)器的配置文件,此參數(shù)必須作為innobackupex的第一個參數(shù),否則報錯

--host:指明連接數(shù)據(jù)庫的主機

--user:指明執(zhí)行數(shù)據(jù)庫備份的用戶名

--password:指明執(zhí)行備份的密碼

--backup:指明為備份,此參數(shù)可以忽略

--apply-log:重做日志

--copy-back:執(zhí)行數(shù)據(jù)恢復

--slave-info:備份從庫的show slave status信息,僅用于在備份從庫時使用

--no-lock:不鎖表,僅適用于存儲引擎為innodb,并且不在乎備份位置點時使用

2、安裝XtraBackup

2.1 環(huán)境準備

主機名IP系統(tǒng)MySQL版本
MySQL-01192.168.10.20CentOS release 6.9 (Final)5.6.36

MySQL的安裝步驟略。

2.2 創(chuàng)建備份用戶

mysql> create user 'backup'@'localhost' identified by '123456'; Query OK, 0 rows affected (0.04 sec) mysql> grant reload,lock tables,replication client,process on *.* to 'backup'@'localhost' identified by '123456'; Query OK, 0 rows affected (0.30 sec) mysql> flush privileges; Query OK, 0 rows affected (0.04 sec)

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

[root@MySQL-01 ~]#mkdir /backup

2.4 下載xtraBackup

[root@MySQL-01 ~]#cd /opt # 下載可能較慢。 [root@MySQL-01 opt]#wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.7-2.el6.x86_64.rpm

2.4 安裝XtraBackup

# 安裝的時候出現(xiàn)報錯,原因為依賴包未安裝。 [root@MySQL-01 opt]#rpm -ivh percona-xtrabackup-24-2.4.7-2.el6.x86_64.rpm warning: percona-xtrabackup-24-2.4.7-2.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY error: Failed dependencies: libev.so.4()(64bit) is needed by percona-xtrabackup-24-2.4.7-2.el6.x86_64 perl(DBD::mysql) is needed by percona-xtrabackup-24-2.4.7-2.el6.x86_64 # 安裝相關(guān)依賴包 [root@MySQL-01 opt]#yum -y install libev-devel perl-DBD-MySQL [root@MySQL-01 opt]#rpm -ivh percona-xtrabackup-24-2.4.7-2.el6.x86_64.rpm warning: percona-xtrabackup-24-2.4.7-2.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY Preparing...                ########################################### [100%] 1:percona-xtrabackup-24  ########################################### [100%] [root@MySQL-01 opt]#rpm -ql percona-xtrabackup-24-2.4.7-2.el6.x86_64 /usr/bin/innobackupex                #innobackupex腳本工具 /usr/bin/xbcloud /usr/bin/xbcloud_osenv /usr/bin/xbcrypt /usr/bin/xbstream /usr/bin/xtrabackup                    #最主要的備份工具 /usr/share/doc/percona-xtrabackup-24-2.4.7 /usr/share/doc/percona-xtrabackup-24-2.4.7/COPYING /usr/share/man/man1/innobackupex.1.gz /usr/share/man/man1/xbcrypt.1.gz /usr/share/man/man1/xbstream.1.gz /usr/share/man/man1/xtrabackup.1.gz

3、備份與恢復測試

3.1 全量備份

# defaults-file:my.cnf配置路徑 [root@MySQL-01 opt]#innobackupex --defaults-file=/app/mysql/my.cnf --user=backup --password=123456 /backup # 查看backup目錄下已經(jīng)有備份文件 [root@MySQL-01 opt]#ll /backup/ total 4 drwxr-x--- 5 root root 4096 Jul 14 17:25 2017-07-14_17-25-24 [root@MySQL-01 opt]#ls /backup/2017-07-14_17-25-24/ backup-my.cnf  performance_schema      xtrabackup_checkpoints ibdata1        rep                     xtrabackup_info mysql          xtrabackup_binlog_info  xtrabackup_logfile [root@MySQL-01 opt]#cat /backup/2017-07-14_17-25-24/xtrabackup_checkpoints backup_type = full-backuped        #備份方式為全量備份 from_lsn = 0                                  #由于是全備,其實LSN號為0 to_lsn = 13835894                        #截止LSN號 last_lsn = 13835894 compact = 0 recover_binlog_info = 0

3.2 模擬恢復

既然全量備份已經(jīng)完成,那么就來測試一下。

# 將數(shù)據(jù)庫停掉 [root@MySQL-01 ~]#service mysqld stop Shutting down MySQL............ SUCCESS! # 將data文件移到backup目錄下 [root@MySQL-01 ~]#mv /app/mysql/data /backup/data_bak # 無法啟動mysqld了 [root@MySQL-01 ~]#service mysqld start Starting MySQL.Logging to '/app/mysql/data/MySQL-01.err'. . ERROR! The server quit without updating PID file (/app/mysql/data/MySQL-01.pid). # apply-log參數(shù):在真正恢復數(shù)據(jù)庫數(shù)據(jù)之前,先將數(shù)據(jù)庫redo日志狀態(tài)恢復。 [root@MySQL-01 ~]#innobackupex --defaults-file=/app/mysql/my.cnf --user=backup --password=123456  --apply-log /backup/2017-07-14_17-25-24 # 執(zhí)行數(shù)據(jù)恢復 [root@MySQL-01 ~]#innobackupex --defaults-file=/app/mysql/my.cnf --user=backup --password=123456  --copy-back /backup/2017-07-14_17-25-24 [root@MySQL-01 ~]#chown -R mysql.mysql /app/mysql/data # 再次啟動數(shù)據(jù)庫,顯示成功 [root@MySQL-01 ~]#service mysqld start Starting MySQL.Logging to '/app/mysql/data/MySQL-01.err'. . SUCCESS!

4、參考

http://mysql.taobao.org/monthly/2016/03/07/

http://www.cnblogs.com/olinux/p/5207887.html

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章標題:XtraBackup全量備份與恢復MySQL數(shù)據(jù)-創(chuàng)新互聯(lián)
當前地址:http://jinyejixie.com/article34/dehppe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、靜態(tài)網(wǎng)站移動網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站排名、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
东兴市| 陵川县| 射阳县| 遵义县| 荔浦县| 曲阜市| 资溪县| 海伦市| 泸水县| 治县。| 红桥区| 儋州市| 涿州市| 新沂市| 平昌县| 库尔勒市| 海晏县| 平果县| 元朗区| 万载县| 琼结县| 股票| 文安县| 玉环县| 四川省| 永昌县| 绥德县| 榆中县| 宣汉县| 甘洛县| 封丘县| 桐庐县| 赣州市| 五常市| 阿克陶县| 蓝田县| 巴东县| 通河县| 手游| 中超| 白朗县|