詳解Mysql之mysqlbackup備份與恢復(fù)實(shí)踐
一、mysqlbackup簡介
mysqlbackup是ORACLE公司也提供了針對(duì)企業(yè)的備份軟件MySQL Enterprise Backup簡稱,是MySQL服務(wù)器的備份實(shí)用程序。它是一個(gè)多平臺(tái),高性能的工具,具有豐富的功能,例如 “熱”(在線)備份,增量和差異備份,選擇性備份和還原,支持直接云存儲(chǔ)備份,備份加密和壓縮以及許多其他有價(jià)值的功能特征。經(jīng)過優(yōu)化以用于InnoDB表,MySQL Enterprise Backup能夠備份和還原MySQL支持的任何存儲(chǔ)引擎創(chuàng)建的各種表。它的讀取和寫入過程(在獨(dú)立的,多個(gè)線程中執(zhí)行)的并行性及其塊級(jí)并行性(不同的線程可以在單個(gè)文件中讀取,處理或?qū)懭氩煌膲K),從而可以快速完成備份和還原過程,并且與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ù)庫test1
mysql> create database test1;
2、備份整個(gè)數(shù)據(jù)庫
#./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ù)庫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ù)庫并刪除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ù)庫查看驗(yàn)證
mysql > show databases;
已恢復(fù)到只有數(shù)據(jù)庫test1狀態(tài)。
三、使用backup-to-image備份與恢復(fù)實(shí)踐
1、在test1庫下創(chuàng)建數(shù)據(jù)庫表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ù)庫備份到單個(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ù)庫并刪除數(shù)據(jù)庫data目錄下的文件
#rm -rf 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ù)庫
表runoob_tbl已經(jīng)恢復(fù)。
四、mysqlbackup工具下載及安裝
1、mysqlbackup工具下載
使用metalink賬號(hào)登錄mysql官網(wǎng),搜索并下載,建議下載.tgz格式安裝包。
如果沒有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使用innobackupex備份連接服務(wù)器失敗的解決方法
- MySQL使用xtrabackup進(jìn)行備份還原操作
- 安裝使用Percona XtraBackup來備份恢復(fù)MySQL的教程
- 編寫腳本令Xtrabackup對(duì)MySQL數(shù)據(jù)進(jìn)行備份的教程
- MySQL定時(shí)備份數(shù)據(jù)庫操作示例
- Python實(shí)現(xiàn)定時(shí)備份mysql數(shù)據(jù)庫并把備份數(shù)據(jù)庫郵件發(fā)送
- Navicat for MySQL定時(shí)備份數(shù)據(jù)庫及數(shù)據(jù)恢復(fù)詳解
- mysqldump備份數(shù)據(jù)庫時(shí)排除某些庫的實(shí)例
- mysql自動(dòng)定時(shí)備份數(shù)據(jù)庫的最佳方法(windows服務(wù)器)
- MySQLBackup備份數(shù)據(jù)庫的操作過程
相關(guān)文章
mysql如何增加數(shù)據(jù)表的字段(ALTER)
這篇文章主要介紹了mysql如何增加數(shù)據(jù)表的字段(ALTER),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11mysql 存儲(chǔ)過程判斷重復(fù)的不插入數(shù)據(jù)
這篇文章主要介紹了下面是一個(gè)較常見的場(chǎng)景,判斷表中某列是否存在某值,如果存在執(zhí)行某操作,需要的朋友可以參考下2017-01-01mysql數(shù)據(jù)庫入門第一步之創(chuàng)建表
關(guān)于mysql介紹網(wǎng)上一搜一大堆,這里就不再介紹了,我之后的mysql文章只講最簡單基礎(chǔ)的用法,主要是為java程序服務(wù)的.文中有非常詳細(xì)的圖文示例,需要的朋友可以參考下2021-05-05MySQL刪除表操作實(shí)現(xiàn)(delete、truncate、drop的區(qū)別)
這篇文章主要介紹了MySQL刪除表操作實(shí)現(xiàn)(delete、truncate、drop的區(qū)別),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12解決Navicat for MySQL 連接 MySQL 報(bào)2005錯(cuò)誤的問題
在本地MySQL的服務(wù)啟動(dòng)后,由于Navicat的一些功能需要聯(lián)網(wǎng)才可以使用,今天重點(diǎn)給大家介紹Navicat for MySQL 連接 MySQL 報(bào)2005 -Unknown MySQL server host ‘localhost’(0)錯(cuò)誤的情況與解決方法,感興趣的朋友一起看看吧2021-05-05mysql如何將時(shí)間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss
這篇文章主要介紹了mysql如何將時(shí)間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07windows server 2008 64位MySQL5.6免安裝版本配置方法圖解
這篇文章主要介紹了windows server 2008 64位MySQL5.6免安裝版本配置方法圖解,需要的朋友可以參考下2017-08-08