xtrabackup shell脚本:
https://gitee.com/ygqygq2/mytools/tree/master/xtrabackup
此脚本基于Percona XtraBackup 2.4
在mysql的root用户下,创建用户并给予下列权限
GRANT SUPER, RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'xtrabackup'@'localhost' identified by '12345678';
没有SUPER权限,会在增量备份时报如下错误
Error: failed to execute query FLUSH NO_WRITE_TO_BINLOG CHANGED_PAGE_BITMAPS: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
将备份使用的密码写入到以下文件中,因为脚本为读取此文件中的密码。
mkdir -p /data/save/
echo '12345678' > /data/save/mysql_xtrabackup
脚本使用场景为一天中备份多次。
xtrabackup_backup_mysql.sh # 脚本控制入口
xtrabackup_backup_full.sh # 全量备份脚本
xtrabackup_backup_incremental.sh # 增量备份脚本
xtrabackup_backup_restore.sh # 备份恢复脚本
在xtrabackup --prepare
时,如果不使用--apply-log-only
以防止数据库回滚,那么你的增量备份将是无用的。因为事务回滚后,进一步的增量备份是不能被应用的。
--apply-log-only
应该在合并除最后一次增量备份的所有增量备份时,这就是为什么恢复备份脚本中,最后一次增量备份xtrabackup --prepare
不使用它的原因。即使--apply-log-only
在最后一次增量备份时被使用,备份仍将是一致的,但在这种情况下,数据库会有执行回滚的阶段。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。