首先两台服务器上都要按照 MariaDB-backup 的 rpm 包。
主数据库备份操作
现在官方不推荐使用 --compress 压缩参数,而是推荐使用流方式使用第三方压缩工具压缩。
如果是主库:
mariabackup --defaults-file=/etc/my.cnf --backup --parallel=4 --target-dir=/tmp/mariabackup -uroot -p123456 --stream=xbstream | gzip > backupstream.gz
如果是从库:
mariabackup --defaults-file=/etc/my.cnf --backup --slave-info --safe-slave-backup --target-dir=/tmp/mariabackup -uroot -p123456 --stream=xbstream | gzip > backupstream.gz
备份完成之后,将文件 backupstream.gz 同步到备份数据库.
备数据库操作
解压缩:
首先需要创建一个新目录:
mkdir /backup/
# 复制文件
cd /backup/
gunzip -c backupstream.gz | mbstream -x
准备:
mariabackup --prepare --target-dir=/backup --use-memory=16G
prepare 执行成功后会返回 ok 字样
记录此时命令输出信息中的 binlog-file 和 position 值
移动:
在移动会 mysql 数据目录前,需要清空原 mysql 数据目录:
rm /var/lib/mysql/* -rf
mariabackup --defaults-file=/etc/my.cnf --move-back --target-dir=/backup/
修改还原后的数据文件目录属主
chown -R mysql:mysql /var/lib/mysql/data
启动同城环境备库