共計 5578 個字符,預計需要花費 14 分鐘才能閱讀完成。
這期內容當中丸趣 TV 小編將會給大家帶來有關怎樣進行 mysqlbackup 的分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一、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 -ipackage_name.rpm
tar xvzfpackage.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 提供了備份還原一些企業的功能:提供了更快的備份方式和更快的還原方式,支持在線全備和增倍、備份的壓縮、并行備份、備份的加密、數據庫的還原和基于時間點的還原。
通過 mysqlbackup3.1.1 備份位置和空間的配置。
建議備份的目錄和數據庫文件的目錄區分開,避免備份把空間撐爆了而導致系統不能使用;
3.1.2 設置備份策略(備份頻率、備份保留周期)
同時計算下每次備份所需要的磁盤空間再根據備份策略合理安排備份的空間;
3.1.3 創建單獨的備份用戶
其他業務分開賬號的使用,數據庫作為重要的系統,一般都會每年變更管理密碼的,這里單獨使用一個避免后期還需要變更;
備份用戶所需要的基本權限
3.2 備份庫主要選項
備份其實主要的內容也就是 backup、restore 和校驗。每個階段使用的主要參數如下:
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
Backup 3.12.3 and later).
backup-to-image
Produces a single-file backup holding the backup data. In most cases, single-file backups are preferred over directory backups, which are created using the backup command.
3.3 備份庫主要參數
可以通過 mysqlbackup –help 會顯示豐富的參數說明, 這邊列幾個比較常見的參數
備注
–backup-dir
The directory to store the backup data.
–backup-image
Specifies the path name of the backup image.
結合 backup-to-image 使用
–compress
Create backup in compressed format.
默認級別是 1
–compress-level
Specifies the level of compression.
–compress-level=LEVEL –uncompress
Uncompress the compressed backup before an apply-log,
copy-back, or copy-back-and-apply-log operation.
如果備份是有使用 compress,還原的時候就得使用該參數 –datadir
Path to mysql server data directory.
–defaults-file
Only read default options from the given file.
–force
Force overwriting of data, log, or image files, depending on
the operation.
進行強制覆蓋
–incremental
Specifies that the associated backup or backup-to-image
operation is incremental.
增量備份選項
–incremental-backup-dir
Specifies the location under which to store data from an
incremental backup.
增量備份保存位置
–incremental-base
The specification of base backup for –incremental option.
上次完整備份的位置
–with-timestamp
Create a subdirectory underneath the backup directory
with a name formed from the timestamp of the backup
operation.
根據時間戳生成一個文件,因為備份的時候需要在一個空的目錄保存文件,所以一般建議使用整個參數
四、mysqlbackup 備份及還原
方法一:使用 backup
方法二:在不同的時期使用 app-log 點擊 (此處) 折疊或打開
【注】backup-and-apply-log 使用這個腳本,mysql 官方文檔有以下說明,不能用于增量備份,但是在實驗中卻是可以的;
backup-and-apply-log
A combination of backup and apply-log. It cannot be used for an incremental backup.
方法三:使用 backup-to-image 的方式
這種方法是 mysql 官方推薦的,只有產生單個的備份二進制文件,整個備份的大小也比前面兩種要小
點擊 (此處) 折疊或打開
方法一:用 bakcup 的方法進行的增量備份 點擊 (此處) 折疊或打開
方法二:用 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 其他
關于備份的壓縮:其實備份的壓縮挺好用的,經過測試可以顯著的節省備份的空間。雖然在上面測試的時候沒有演示,實際上本人是有操作過備份壓縮的,而且相對于正常的備份其實并沒有消耗很多的時間;
關于 image 的增量備份:image 的增量備份恢復步驟相對全備麻煩了很多,在官方文檔里面找了很久是不是還有更便捷的操作,但始終沒有找到相關操作說明,如果知道的朋友麻煩留下言,感激不盡;
關于增量備份:增量備份有沒有必要了,其實這要看我們系統的重要性、數據增長的速度。目前我們這邊最大的系統 2 天才產生一個 G 的 binlog,整體數據庫也不算很大,所以現在每天都是使用全備了。
關于該軟件:mysqlbackup 其實還有很多的功能的,可以針對表、數據庫對象進行備份。同時也可以用于搭建從庫,這個功能對于數據庫很大的用戶是個福音,強烈對劍該功能;
但是由于這個軟件是 Oracle 的企業版,付費用戶才能使用的,所以網上相關的資料并不多。
上述就是丸趣 TV 小編為大家分享的怎樣進行 mysqlbackup 的分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。