迁移Mariadb(全部数据库)

目的

将正在运行的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

注意事项

  1. 备份不需要停止数据库,还原必须停止数据库
  2. 还原时确认还原的目标文件夹为空,如果不为空,使用–force-non-empty-directories参数,或者使用–datadir指定还原目录
  3. 还原后一定需要更改还原目录的属主属组,否则数据库启动一定报错,看日志可以得知没有权限

参考

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×