MariaDB的增量備份和全量備份 mariabackup:未找到命令

mariabackup:未找到命令

在這裏插入圖片描述

備份數據:
全量備份
mariabackup --backup --target-dir=/var/mariadb/backup/ --user=root --password=123456

增量備份
mariabackup --backup --target-dir=/var/mariadb/inc1/ --incremental-basedir=/var/mariadb/backup/ --user=root --password=123456

基於上次增量備份做增量備份
mariabackup --backup --target-dir=/var/mariadb/inc2/ --incremental-basedir=/var/mariadb/inc1/ --user=root --password=123456
恢復數據:
# 準備全量備份文件
mariabackup --prepare --apply-log-only --target-dir=/var/mariadb/backup

# 準備增量備份文件
mariabackup --prepare --apply-log-only --target-dir=/var/mariadb/backup --incremental-dir=/var/mariadb/inc1

# 恢復數據
mariabackup --copy-back --target-dir=/var/mariadb/backup/

# 修改數據文件權限
chown -R mysql:mysql /var/lib/mysql/

下面是更詳細的用法

注意版本
https://mariadb.com Mariadb官網
https://mariadb.com/kb/en/library/mariabackup-overview/ Mariabackup官方文檔
mariabackup based on MariaDB server 10.2.15-MariaDB Linux (x86_64)
xtrabackup version 2.2.8 based on MySQL server 5.6.22

mariabackup語法
mariabackup [--defaults-file=#] [--backup | --prepare | --copy-back | --move-back] [OPTIONS]

常用選項

–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
打印版本信息。

備份與恢復

完全備份與恢復
備份
用戶名爲root
密碼爲centos
備份到目錄/backup/(date+(date ‘+%y-%m-%d’)_fullbackup 這裏的(date ‘+%y-%m-%d’)_fullbackup目錄會自動創建,而backup需要自己創建
mariabackup --backup --target-dir /backup/$(date ‘+%y-%m-%d’)_fullbackup --user root --password centos
恢復
第一步:準備全備數據
mariabackup --prepare --target-dir --user backup_user --password backup_passwd
第二步:還原數據 (保證要還原的數據庫服務器的data目錄爲空)
mariabackup --copy-back --target-dir /backup/18-07-30_fullbackup --user root --password centos
第三步:修改data目錄權限
因爲備份的用戶是root,還原過去的時候屬主沒有變化,所以要吧還原過去的數據的屬主和屬組修改一下
chown -R mysql:mysql /usr/local/mariadb/data

增量備份與還原
備份
完全備份
mariabackup --backup --target-dir /backup/fullbackup --user root --password centos
增量備份
mariabackup --backup --target-dir /backup/inc1 --incremental-basedir /backup/fullbackup --user root --password centos
這裏的 /backup/fullbackup表示基於全備做的增量備份
恢復
現在我們有2個備份,一個是全備一個是增量備份,具體步驟如下
第一步:準備全備數據
mariabackup --prepare --target-dir /backup/fullbackup/ --user root --password centos --apply-log-only
第二步:將增量備份與全備合併
mariabackup --prepare --target-dir /backup/fullbackup/
–user root --password centos
–incremental-dir /backup/inc1 --apply-log-only
第三步:還原(保證data目錄爲空)
mariabackup --copy-back --target-dir /backup/fullbackup/
–user root --password centos
第四步:修改屬主屬組
chown -R mysql:mysql /usr/local/mariadb/data

備份數據

全量備份
mariabackup --backup --target-dir=/var/mariadb/backup/ --user=root --password=123456
增量備份
mariabackup --backup --target-dir=/var/mariadb/inc1/ --incremental-basedir=/var/mariadb/backup/ --user=root --password=123456
基於上次增量備份做增量備份
mariabackup --backup --target-dir=/var/mariadb/inc2/ --incremental-basedir=/var/mariadb/inc1/ --user=root --password=123456

恢復數據

準備全量備份文件
mariabackup --prepare --apply-log-only --target-dir=/var/mariadb/backup
準備增量備份文件
mariabackup --prepare --apply-log-only --target-dir=/var/mariadb/backup --incremental-dir=/var/mariadb/inc1
恢復數據
mariabackup --copy-back --target-dir=/var/mariadb/backup/
修改數據文件權限
chown -R mysql:mysql /var/lib/mysql/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章