Mariabackup是MariaDB提供的一個開源工具,用於對InnoDB,Aria和MyISAM表進行物理在線備份。這個工具是基於Percona的XtraBackup(版本2.3.8)的解決方案。
這裡有一點需要注意,在MariaDB10.3.x及以上的版本用Percona XtraBackup工具會有問題。原因可能是MariaDB10.3以上版本的redo日誌格式和之前不同了。
Percona的官方文檔:https://www.percona.com/doc/percona-xtrabackup/2.4/index.html
Mariabackup的官方文檔:https://mariadb.com/kb/en/library/mariabackup-overview/
Percona XtraBackup:https://blog.csdn.net/L835311324/article/details/83628339
一、安裝
2.1、語法格式:
2.2、常用選項
- -backup
備份數據庫。
使用此命令選項,Mariabackup會對您的數據庫執行備份操作。備份將寫入目標目錄,由- -target-dir選項設置。 - -copy-back
將備份還原到數據目錄。
使用此命令,Mariabackup將備份從目標目錄複製到數據目錄,如- -datadir選項所定義。您必須在運行此命令之前停止MariaDB服務器。數據目錄必須為空。如果要使用備份覆蓋數據目錄,請使用該- -force-non-empty-directories選項。
請記住,在恢復備份之前,首先需要使用該- -prepare選項運行Mariabackup 。在完全備份的情況下,這使得文件的時間點保持一致。使用增量備份,這會將增量應用於基本備份。準備好備份後,您可以運行- -copy-back將其應用於MariaDB Server。
運行該- -copy-back命令會將備份文件複製到數據目錄。如果要保存備份以供日後使用,請使用此命令。如果您不想保存備份以供日後使用,請使用該- -move-back命令。 - -defaults-file
定義包含默認配置的文件的路徑。
-H, –host
定義要備份的MariaDB服務器的主機 - -incremental-basedir
定義是否要增加備份 - -incremental-dir
定義是否要增加準備好的備份
將此選項與- -prepare命令選項一起使用會導致Mariabackup增加準備好的備份,而不是從頭開始復制。增量將. delta文件和日誌文件應用到目標目錄中。 - -move-back
將備份還原到數據目錄。
使用此命令,Mariabackup將備份從目標目錄移動到數據目錄,如–datadir選項所定義。您必須在運行此命令之前停止MariaDB服務器。數據目錄必須為空。如果要使用備份覆蓋數據目錄,請使用該–force-non-empty-directories選項。
請記住,在恢復備份之前,首先需要使用該–prepare選項運行Mariabackup 。在完全備份的情況下,這使得文件的時間點保持一致。使用增量備份,這會將增量應用於基本備份。準備好備份後,您可以運行–move-back將其應用於MariaDB Server。
-p, –password
定義用於連接MariaDB Server的密碼。
-P, –port
定義要連接的服務器端口 - -prepare
準備現有備份以還原到MariaDB服務器。
Mariabackup –backup在目標目錄中的操作期間生成的文件尚未準備好在服務器上使用。在將數據還原到MariaDB之前,首先需要準備備份。
在完全備份的情況下,文件不是時間點一致的,因為它們是在不同時間拍攝的。如果您嘗試在未先準備數據的情況下還原數據庫,InnoDB會將新數據拒絕為損壞。使用該–prepare命令運行Mariabackup會使數據準備就緒,因此您可以將其還原到MariaDB Server。使用增量備份時,需要使用–prepare命令和–incremental-dir選項通過增量備份中的增量更新基本備份。
-S, –socket
定義用於連接本地數據庫的套接字 - -user
定義用於連接MariaDB服務器的用戶名 - -version-check
啟用版本檢查。
使用此選項,您可以啟用Mariabackup版本檢查 - -version
打印版本信息。
三、備份
3.1 全量備份
3.2 增量備份
四、恢復
保證要還原的數據庫服務器的data 目錄為空
4.1 全量恢復
- 準備全備數據
- 還原數據(保證要還原的數據庫服務器的data 目錄為空)
- 修改data目錄權限
因為備份的用戶是root,還原過去的時候屬主沒有變化,所以要吧還原過去的數據的屬主和屬組修改一下
4.2 增量恢復
- 準備全備數據
- 將增量備份與全備合併
如果有多個增量備份,則多次執行該命令 - 還原數據(保證要還原的數據庫服務器的data 目錄為空)
- 修改data目錄權限
因為備份的用戶是root,還原過去的時候屬主沒有變化,所以要吧還原過去的數據的屬主和屬組修改一下
五、備份腳本
每隔7天將增量備份合併為全量備份
5.1 備份腳本
5.2 創建定時任務
輸入以下內容
查看任務是否被加入定時器