mysqlbackup的總結_20170918
一、mysqlbackup工具的介紹
1.1 mysqlbackup軟體的說明undefined
Mysql的備份方法有很多種,大部分企業當資料量很小的時候都是選擇mysqldump匯出資料庫的方式來進行備份,但是當資料量較多的時候,就不建議用這種方法進行。
公司的Mysql資料庫300GB,用mysqldump的方法進行恢復的時候,居然用了整整的一個星期,如果真正在災難的時候需要恢復,那簡直就是災難啊。
經過網上的查詢和搜尋,發現mysql的備份軟體確實太多,第三方的機構也有提供了相應的備份軟體,ORACLE公司也提供了針對企業的備份軟體MySQL Enterprise Backup簡稱:mysqlbackup。
考慮到軟體的生命週期和軟體的文件考慮,還是使用mysqlbakcup,原因如下:
mysqlbackup從3.5到4.1版本說明mysql公司一直在更新這個軟體,這樣隨著mysql軟體的更新備份軟體也會跟著更新,避免出現bug沒有解決,同時mysql dba掌握了這麼技術後也可以一直延續使用,提高了學習的收益。
在mysql的網站裡面有完整的使用手冊,這些文件對於整個軟體的使用至關重要;
1.2 mysqlbackup軟體的下載
mysqlbackup企業版在mysql的開源社群是下載不了的,需要有metalink的賬號才能下載。(早期是可以下載的,估計後來使用者的體驗不錯,需要授權購買oracle的服務才可以了)
目前我的環境都還是mysql5.6的,所以選擇用3.12的版本(3.12的版本修復了幾個重要的bug,建議用這個版本)
1.3 mysqlbackup軟體的安裝
選擇相應的版本進行下載,每臺要進行備份的mysql伺服器都需要安裝這個軟體。Mysql提供了兩種包,安裝的方法也有所不同。常用的安裝步驟如下:
sudo rpm -i package_name.rpm
tar xvzf package.tgz
安裝的目錄如下:/opt/mysql/meb-3.12
其他設定命令使用的快捷方式:ln -s /opt/mysql/meb-3.12/bin/mysqlbackup /usr/bin/mysqlback
二、mysqlbackup工具的介紹
mysqlbackup和mysqldump的主要功能是備份跟還原,mysqlbackup是oracle的企業產品感覺整個產品的思路和oracle的rman很像。mysqlbackup的功能對比成oracle的expdp。
Mysqlbackup提供了備份還原一些企業的功能:提供了更快的備份方式和更快的還原方式,支援線上全備和增倍、備份的壓縮、並行備份、備份的加密、資料庫的還原和基於時間點的還原。
透過mysqlbackup --help可以檢視相關的命令操作。
三、mysqlbackup備份準備工作
3.1 備份的準備工作
備份無小事,在備份之前,需要做好以下的準備工作,保證備份的正常執行。
需要做準備的工作如下幾點:
3.1.1 備份位置和空間的配置。
建議備份的目錄和資料庫檔案的目錄區分開,避免備份把空間撐爆了而導致系統不能使用;
3.1.2 設定備份策略(備份頻率、備份保留週期)
同時計算下每次備份所需要的磁碟空間再根據備份策略合理安排備份的空間;
3.1.3 建立單獨的備份使用者
其他業務分開賬號的使用,資料庫作為重要的系統,一般都會每年變更管理密碼的,這裡單獨使用一個避免後期還需要變更;
備份使用者所需要的基本許可權
-
GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'mysqlbackup'@'localhost';
-
GRANT CREATE, INSERT, SELECT, DROP, UPDATE ON mysql.backup_history TO 'mysqlbackup'@'localhost';
-
GRANT REPLICATION CLIENT ON *.* TO 'mysqlbackup'@'localhost';
-
GRANT SUPER ON *.* TO 'mysqlbackup'@'localhost';
- GRANT LOCK TABLES, SELECT, CREATE, DROP, FILE ON *.* TO 'mysqlbackup'@'localhost'
3.2 備份庫主要選項
- Backup operations: backup, backup-and-apply-log, backup-to-image
- Update operations: apply-log, apply-incremental-backup
- Restore operations: copy-back, copy-back-and-apply-log
- Validation operation: validate Single-file backup
- operations: image-to-backup-dir, backup-dir-to-image, list-image, extract
在3.12.3以下的版本backup-and-apply-log這個備份的時候不能結合引數compress使用。mysqlbackup官方的文件建議使用backup-to-image選項,該方法效能更好,而且備份的檔案也更小。
備註:
When used with the apply-log or copy-back-and-apply-log operation, uncompresses a compressed backup before applying the InnoDB log. When used with the copy-back operation,uncompresses a compressed prepared backup (created by the backup-and-apply-log command with the --compress option) before restoring it to a server (only supported for MySQL Enterprise
3.3 備份庫主要引數
可以透過mysqlbackup --help會顯示豐富的引數說明,這邊列幾個比較常見的引數
四、mysqlbackup備份及還原
方法一:使用backup
點選(此處)摺疊或開啟
-
全備的指令碼
-
[root@db02 backup]# mysqlbackup --user=mysqlbackup --password=123 --backup-dir=/backup --with-timestamp backup
-
-
還原的指令碼
-
[root@db02 backup]# mysqlbackup --backup-dir=/backup/2017-09-18_13-49-11 apply-log #因為在備份期間資料庫還在讀寫,把這期間的log進行應用,達到資料的一致性
- [root@db02 backup]# mysqlbackup --datadir=/data/mysql --backup-dir=/backup/2017-09-18_13-49-11 copy-back
方法二:在不同的時期使用app-log
點選(此處)摺疊或開啟-
全備的指令碼
-
[root@db02 backup]#mysqlbackup --defaults-file=/etc/my.cnf --user=mysqlbackup --password=123 --backup-dir=/backup --with-timestamp backup-and-apply-log
-
還原的指令碼
- [root@db02 backup]# mysqlbackup --datadir=/data/mysql --backup-dir=/backup/2017-09-18_13-49-11 copy-back
方法三:使用backup-to-image的方式
-
全備的指令碼
-
[root@db02 mysql]# mysqlbackup --user=mysqlbackup --password=123 --backup-image=backup.mbi --backup-dir=/backup --with-timestamp backup-to-image
-
-
還原的指令碼
- [root@db02 data]# mysqlbackup --defaults-file=/backup/2017-09-15_17-06-07/server-my.cnf --datadir=/data/mysql --backup-dir=/backup/2017-09-15_17-06-07 copy-back
五、mysqlbackup增量備份及還原
方法一:用bakcup的方法進行的增量備份
點選(此處)摺疊或開啟-
備份的操作:先進行全備後進行增備
-
mysqlbackup --defaults-file=/etc/my.cnf --user=mysqlbackup --password=123 --backup-dir=/backup --with-timestamp backup #全備
-
mysqlbackup --defaults-file=/etc/my.cnf --user=mysqlbackup --password=123 --with-timestamp --incremental --incremental-backup-dir=/backup/ --incremental-base=dir:/backup/2017-09-18_14-51-25 backup #增量備份
- --incremental-base 為前面全備的路徑
-
還原的操作
-
mysqlbackup --backup-dir=/backup/2017-09-18_15-25-59 apply-log #全備的庫先apply-log
-
mysqlbackup --backup-dir=/backup/2017-09-18_15-25-59 --incremental-backup-dir=/backup/2017-09-18_15-42-56 apply-incremental-backup #在步驟一的基礎上繼續恢復
- mysqlbackup --defaults-file=/etc/my.cnf --force --backup-dir=/backup/2017-09-18_15-25-59/ --datadir=/data/mysql copy-back-and-apply-log #複製然後再恢復增備的log
方法二:用image的方法進行的增量備份
點選(此處)摺疊或開啟-
備份的操作:先進行全備後進行增備
-
mysqlbackup --user=mysqlbackup --password=123 --backup-image=backup.mbi --backup-dir=/backup --with-timestamp backup-to-image #先備份成image
- mysqlbackup --defaults-file=/etc/my.cnf --user=mysqlbackup --password=123 --with-timestamp --incremental --incremental-backup-dir=/backup/ --incremental-base=dir:/backup/2017-09-18_15-53-57 backup #在原來備份的基礎上進行增量備份
-
還原的操作
-
mysqlbackup --backup-dir=/backup/full --backup-image=/backup/2017-09-18_15-53-57/backup.mbi image-to-backup-dir 先轉換成方法一的備份檔案,後續的步驟都跟前面一樣
-
mysqlbackup --backup-dir=/backup/full apply-log
-
mysqlbackup --backup-dir=/backup/full --incremental-backup-dir=/backup/2017-09-18_15-56-13 apply-incremental-backup
- mysqlbackup --defaults-file=/etc/my.cnf --force --backup-dir=/backup/full --datadir=/data/mysql copy-back-and-apply-log
六、其他操作
6.1 關於image備份的一些操作
點選(此處)摺疊或開啟-
mysqlbackup --backup-image=/backup/2017-09-18_15-53-57/backup.mbi validate 檢查備份的有效性;
-
mysqlbackup --backup-image=/backup/2017-09-18_15-53-57/backup.mbi list-image 列出備份物件
-
mysqlbackup --backup-image=/backup/2017-09-18_15-53-57/backup.mbi extract 進行解壓,直接在備份目錄裡面操作
- mysqlbackup --backup-dir=/backup/backup --backup-image=/backup/2017-09-18_15-53-57/backup.mbi image-to-backup-dir 指定備份目錄進行解壓
6.2 其他
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-2145129/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MYSQLBACKUP工具的使用MySql
- Mysqlbackup 備份詳解MySql
- mysqlbackup 重建帶有gtid特性的slaveMySql
- mysql企業備份工具mysqlbackupMySql
- mysqlbackup線上配置Mysql主從架構MySql架構
- [20170918]NLS_DATE_FORMAT設定.txtORM
- 不能算是總結的年終總結薦
- 我的總結
- Fragment的總結Fragment
- awk的總結
- beautifulsoup的總結
- 近期的總結
- javaSE總結(轉+總結)Java
- 自己總結物件導向程式設計的總結物件程式設計
- mysql企業備份工具(MEB)之mysqlbackup安裝及使用MySql
- ListenalbeFuture的使用總結
- 我的年終總結
- 18年末的總結
- 近半年的總結
- ssh的小總結
- MySQL的Explain總結MySqlAI
- 多型的總結多型
- Bluetooth的profile總結
- 我的工作總結
- 遲到的總結
- 面試官的總結面試
- js中this的總結JS
- git的使用總結Git
- 我的個人總結
- WebView的使用總結WebView
- type的用法總結
- materialized view 的總結ZedView
- ORACLE鎖的總結Oracle
- snap 命令的 總結
- TTS的總結 (轉)TTS
- sqlldr的用法總結SQL
- 對ETL的總結
- JXCategoryView的使用總結GoView