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/

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