一、mysqlbackup簡(jiǎn)介
mysqlbackup是ORACLE公司也提供了針對(duì)企業(yè)的備份軟件MySQL Enterprise Backup簡(jiǎn)稱,是MySQL服務(wù)器的備份實(shí)用程序。它是一個(gè)多平臺(tái),高性能的工具,具有豐富的功能,例如 “熱”(在線)備份,增量和差異備份,選擇性備份和還原,支持直接云存儲(chǔ)備份,備份加密和壓縮以及許多其他有價(jià)值的功能特征。經(jīng)過(guò)優(yōu)化以用于InnoDB表,MySQL Enterprise Backup能夠備份和還原MySQL支持的任何存儲(chǔ)引擎創(chuàng)建的各種表。它的讀取和寫入過(guò)程(在獨(dú)立的,多個(gè)線程中執(zhí)行)的并行性及其塊級(jí)并行性(不同的線程可以在單個(gè)文件中讀取,處理或?qū)懭氩煌膲K),從而可以快速完成備份和還原過(guò)程,并且與logical backup使用mysqldump之類的工具 相比,通??梢燥@著提高性能 。MySQL Enterprise Backup是用于維護(hù)和保護(hù)MySQL數(shù)據(jù)以及在發(fā)生事故或?yàn)?zāi)難時(shí)快速可靠地進(jìn)行恢復(fù)的寶貴工具。它是MySQL企業(yè)版的一部分,可根據(jù)商業(yè)許可向訂戶提供。
二、全量備份與恢復(fù)實(shí)踐
1、創(chuàng)建數(shù)據(jù)庫(kù)test1
mysql> create database test1;
2、備份整個(gè)數(shù)據(jù)庫(kù)
#./mysqlbackup --host=127.0.0.1 --user=root --password=Yhxx@2020 --port=3306 --with-timestamp --backup-dir=/home/test/mysql/backup backup
3、查看備份數(shù)據(jù)
#ll /home/test/mysql/backup/
4、創(chuàng)建數(shù)據(jù)庫(kù)test2
mysql> create database test2;
Query OK, 1 row affected (0.04 sec)
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test1 |
| test2 |
±-------------------+
6 rows in set (0.00 sec)
5、執(zhí)行恢復(fù)文件準(zhǔn)備
#./mysqlbackup --defaults-file=/home/test/mysql/my.cnf --backup-dir=/home/test/mysql/backup/2020-12-12_15-15-23/ apply-log
6、停止數(shù)據(jù)庫(kù)并刪除data目錄下所有數(shù)據(jù)
#cd /home/test/mysql
#rm -rf data/*
7、恢復(fù)備份文件
#./mysqlbackup --defaults-file=/home/test/mysql/my.cnf --backup-dir=/home/test/mysql/backup/2020-12-12_15-15-23/ copy-back
8、登錄數(shù)據(jù)庫(kù)查看驗(yàn)證
已恢復(fù)到只有數(shù)據(jù)庫(kù)test1狀態(tài)。
三、使用backup-to-image備份與恢復(fù)實(shí)踐
1、在test1庫(kù)下創(chuàng)建數(shù)據(jù)庫(kù)表runoob_tbl
mysql> CREATE TABLE IF NOT EXISTS runoob_tbl( runoob_id INT UNSIGNED AUTO_INCREMENT, runoob_title VARCHAR(100) NOT NULL, runoob_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
±----------------+
| Tables_in_test1 |
±----------------+
| runoob_tbl |
±----------------+
1 row in set (0.00 sec)
2、使用backup-to-image將數(shù)據(jù)庫(kù)備份到單個(gè)二進(jìn)制文件
#./mysqlbackup --host=127.0.0.1 --user=root --password=Yhxx@2020 --port=3306 --backup-image=backupfull.mbi --with-timestamp --backup-dir=/home/test/mysql/backup backup-to-image
3、刪除表runoob_tbl
mysql> drop table runoob_tbl;
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
Empty set (0.00 sec)
4、查看備份文件
5、查看備份文件中的內(nèi)容
#./mysqlbackup --backup-image=/home/test/mysql/backup/2020-12-12_16-08-18/backupfull.mbi list-image
6、校驗(yàn)備份文件
#./mysqlbackup --backup-image=/home/test/mysql/backup/2020-12-12_16-08-18/backupfull.mbi validate
7、停止數(shù)據(jù)庫(kù)并刪除數(shù)據(jù)庫(kù)data目錄下的文件
8、執(zhí)行恢復(fù)操作
#./mysqlbackup --defaults-file=/home/test/mysql/my.cnf --backup-image=/home/test/mysql/backup/2020-12-12_16-08-18/backupfull.mbi --backup-dir=/home/test/mysql/backup/2020-12-12_16-08-18 copy-back-and-apply-log
9、查看恢復(fù)后的數(shù)據(jù)庫(kù)
表runoob_tbl已經(jīng)恢復(fù)。
四、mysqlbackup工具下載及安裝
1、mysqlbackup工具下載
使用metalink賬號(hào)登錄mysql官網(wǎng),搜索并下載,建議下載.tgz格式安裝包。
如果沒(méi)有metalink賬戶也可以百度搜索,有網(wǎng)友提供了此工具的下載。
2、mysqlbackup工具安裝
解壓安裝包
#tar xvzf package.tgz
#cd ./meb-4.1.0-el7-x86-64bit/bin
進(jìn)入mysqlbackup目錄
#cd meb-4.1.0-el7-x86-64bit/bin
[test@testenv bin]$ ll
total 10092
-rwxr-xr-x. 1 test test 10331202 Feb 28 2017 mysqlbackup
[test@testenv bin]$ which mysql
~/mysql/mysql5.7/bin/mysql
將mysqlbackup工具拷貝到mysql安裝bin目錄
[test@testenv bin]$ cp mysqlbackup ~/mysql/mysql5.7/bin/mysql
3、常用參數(shù)解釋
- –user:用戶名。
- –password:密碼。
- –port:端口,默認(rèn)值為3306。
- –backup-dir:可以看成是mysqlback的工作目錄。
- –backup-image:備份文件名。
- backup-to-image:把所有的備份信息輸出到一個(gè)備份文件當(dāng)中。
- backup 執(zhí)行備份操作
- apply-log 執(zhí)行準(zhǔn)備恢復(fù)文件操作
- copy-back 執(zhí)行恢復(fù)操作
- validate 檢查備份文件完整性
- extract 解壓mbi文件到當(dāng)前目錄
- image-to-backup-dir 指定目錄進(jìn)行解壓
到此這篇關(guān)于詳解Mysql之mysqlbackup備份與恢復(fù)實(shí)踐的文章就介紹到這了,更多相關(guān)mysqlbackup備份與恢復(fù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- MySQL 邏輯備份與恢復(fù)測(cè)試的相關(guān)總結(jié)
- MySQL5.7 mysqldump備份與恢復(fù)的實(shí)現(xiàn)
- 淺析MySQL 備份與恢復(fù)
- 詳解mysql的備份與恢復(fù)
- MySQL系列之十二 備份與恢復(fù)