MariaDB新版本(10.3.x+)的备份和恢复
-
MariaDB10.3.x及以上的版本用Percona XtraBackup工具会有问题。 原因可能是MariaDB10.3以上版本的redo日志格式和之前不同了。 解决方案是,使用mariabackup,它是MariaDB提供的一个开源工具,用于对InnoDB,Aria和MyISAM表进行物理在线备份。 这个工具是基于Percona的XtraBackup(版本2.3.8)的解决方案: 全量备份: mariabackup --defaults-file=/etc/my.cnf --backup --user=xxx --password=xxx --target-dir /data/backup/2019-02-21 全量恢复: 停止数据库 清空datadir mariabackup --prepare --target-dir /data/backup/2019-02-21/ mariabackup --copy-back --target-dir /data/backup/2019-02-21/ 改属主、属组 启动 增量备份: mariabackup --defaults-file=/etc/my.cnf --backup --user=xxx --password=xxx --target-dir /data/backup/2019-02-21 第一个增量:mariabackup --backup --user=xxx --password=xxx --target-dir /data/backup/2019-02-21_inc1 --incremental-basedir /data/backup/2019-02-21 第二个增量:mariabackup --backup --user=xxx --password=xxx --target-dir /data/backup/2019-02-21_inc2 --incremental-basedir /data/backup/2019-02-21_inc1 增量恢复: 先准备全备 mariabackup --prepare --target-dir /data/backup/2019-02-21 --apply-log-only 准备第一个增量: cd /data/backup mariabackup --prepare --target-dir ./2019-02-21 --incremental-dir ./2019-02-21_inc1 --apply-log-only 准备第二个增量: mariabackup --prepare --target-dir ./2019-02-21 --incremental-dir ./2019-02-21_inc2 --apply-log-only 恢复: mariabackup --copy-back --target-dir ./2019-02-21
备份脚本
-
#!/bin/bash bakdir=/data/backup d=`date +%F` for db in bbs blog db2 do mysqldump -uroot -paminglinux $db > $bakdir/$db\_$d.sql done cd $bakdir gzip *_$d.sql find ./ -name "*.gz" -mtime +30 |xargs rm
- 补充:
- 任务计划:
- crontab -e
- 格式:分 时 日 月 周 命令
- 0 3 * * * /bin/bash usr/local/sbin/1.sh