一、mysqlbackup簡介
mysqlbackup是ORACLE公司也提供了針對企業的備份軟件MySQL Enterprise Backup簡稱,是MySQL服務器的備份實用程序。它是一個多平臺,高性能的工具,具有豐富的功能,例如 “熱”(在線)備份,增量和差異備份,選擇性備份和還原,支持直接云存儲備份,備份加密和壓縮以及許多其他有價值的功能特征。經過優化以用于InnoDB表,MySQL Enterprise Backup能夠備份和還原MySQL支持的任何存儲引擎創建的各種表。它的讀取和寫入過程(在獨立的,多個線程中執行)的并行性及其塊級并行性(不同的線程可以在單個文件中讀取,處理或寫入不同的塊),從而可以快速完成備份和還原過程,并且與logical backup使用mysqldump之類的工具 相比,通常可以顯著提高性能 。MySQL Enterprise Backup是用于維護和保護MySQL數據以及在發生事故或災難時快速可靠地進行恢復的寶貴工具。它是MySQL企業版的一部分,可根據商業許可向訂戶提供。
二、全量備份與恢復實踐
1、創建數據庫test1
mysql> create database test1;
2、備份整個數據庫
#./mysqlbackup --host=127.0.0.1 --user=root --password=Yhxx@2020 --port=3306 --with-timestamp --backup-dir=/home/test/mysql/backup backup
3、查看備份數據
#ll /home/test/mysql/backup/

4、創建數據庫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、執行恢復文件準備
#./mysqlbackup --defaults-file=/home/test/mysql/my.cnf --backup-dir=/home/test/mysql/backup/2020-12-12_15-15-23/ apply-log
6、停止數據庫并刪除data目錄下所有數據
#cd /home/test/mysql
#rm -rf data/*
7、恢復備份文件
#./mysqlbackup --defaults-file=/home/test/mysql/my.cnf --backup-dir=/home/test/mysql/backup/2020-12-12_15-15-23/ copy-back
8、登錄數據庫查看驗證
已恢復到只有數據庫test1狀態。

三、使用backup-to-image備份與恢復實踐
1、在test1庫下創建數據庫表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將數據庫備份到單個二進制文件
#./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、查看備份文件中的內容
#./mysqlbackup --backup-image=/home/test/mysql/backup/2020-12-12_16-08-18/backupfull.mbi list-image
6、校驗備份文件
#./mysqlbackup --backup-image=/home/test/mysql/backup/2020-12-12_16-08-18/backupfull.mbi validate
7、停止數據庫并刪除數據庫data目錄下的文件
8、執行恢復操作
#./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、查看恢復后的數據庫
表runoob_tbl已經恢復。

四、mysqlbackup工具下載及安裝
1、mysqlbackup工具下載
使用metalink賬號登錄mysql官網,搜索并下載,建議下載.tgz格式安裝包。
如果沒有metalink賬戶也可以百度搜索,有網友提供了此工具的下載。
2、mysqlbackup工具安裝
解壓安裝包
#tar xvzf package.tgz
#cd ./meb-4.1.0-el7-x86-64bit/bin
進入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、常用參數解釋
- –user:用戶名。
- –password:密碼。
- –port:端口,默認值為3306。
- –backup-dir:可以看成是mysqlback的工作目錄。
- –backup-image:備份文件名。
- backup-to-image:把所有的備份信息輸出到一個備份文件當中。
- backup 執行備份操作
- apply-log 執行準備恢復文件操作
- copy-back 執行恢復操作
- validate 檢查備份文件完整性
- extract 解壓mbi文件到當前目錄
- image-to-backup-dir 指定目錄進行解壓
到此這篇關于詳解Mysql之mysqlbackup備份與恢復實踐的文章就介紹到這了,更多相關mysqlbackup備份與恢復內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- MySQL 邏輯備份與恢復測試的相關總結
- MySQL5.7 mysqldump備份與恢復的實現
- 淺析MySQL 備份與恢復
- 詳解mysql的備份與恢復
- MySQL系列之十二 備份與恢復