目的
将正在运行的mariadb数据库进行热备份至smb共享,并且在备用zabbix上进行还原,测试
挂载
进行smb共享挂载
mkdir /backup/db_backup
mount -t cifs -o username="dbbak",password="hp@123" //192.168.1.192/db_backup /backup/db_backup
将192.168.1.192上面的smmb共享挂载至/backup/db_backup目录,用户名为dbbak,密码为hp@123
备份
完整备份
mariabackup --backup --target-dir /backup/db_backup/fullbackup --user root --password hp@123
将全部数据库备份至/backup/db_backup,数据库用户名root,密码hp@123
增量备份
mariabackup --backup --target-dir /backup/db_backup/incbackup --incremental-basedir /backup/db_backup/fullbackup --user root --password hp@123
进行增量备份,依托于/backup/db_backup/fullback
还原
在需要还原的服务器上挂载smb共享过程略
准备备份数据
mariabackup --prepare --target-dir /backup/db_backup/fullbackup/ --user root --password hp@123 --apply-log-only
mariabackup --prepare --target-dir /backup/db_backup/fullbackup/ --user root --password hp@123 --incremental-dir /backup/db_backup/incbackup --apply-log-only
还原
systemctl stop mariadb
cd /var/lib/mysql
rm -rf *
mariabackup --copy-back --target-dir /backup/db_backup/fullbackup/ --user root --password hp@123
修改属主属组
chown -R mysql:myslq /var/lib/mysql
注意事项
- 备份不需要停止数据库,还原必须停止数据库
- 还原时确认还原的目标文件夹为空,如果不为空,使用–force-non-empty-directories参数,或者使用–datadir指定还原目录
- 还原后一定需要更改还原目录的属主属组,否则数据库启动一定报错,看日志可以得知没有权限