MySQL增量备份是在全量备份的基础上,仅备份增量数据的一种备份方式。当数据量较大时,全量备份所需的时间和存储空间都会很大。而增量备份只需备份新增或更新的数据,时间和空间开销都得到了很大的缩减。
如果仅仅是将备份数据写到同一台服务器上,仍然会存在一定的风险。一旦服务器本身发生了故障,备份数据也同样无法恢复。因此,将备份数据写到另外一个主机上是一个较好的选择,这样即使主机发生故障,备份数据也能够保住。
# 创建备份策略文件vim /etc/mysql/backup.cnf# 添加以下内容[client]user=rootpassword=yourpassword[mysqldump]quickquote-namesmax_allowed_packet=16Msingle-transactionflush-logs master-data=2# 执行备份mysqlbackup --defaults-file=/etc/mysql/backup.cnf --backup-dir=/data/backup/full --backup-image=/data/backup/full-backup.img --backup --compress --compress-level=9# 执行增量备份mysqlbackup --defaults-file=/etc/mysql/backup.cnf --backup-dir=/data/backup/inc1 --incremental-backup-dir=/data/backup/inc1 --incremental-with-redo-log-only --compress --compress-level=9# 复制数据到另外一个主机scp -r /data/backup/inc1 remote_user@remote_host:/data/backup/
在以上代码中,首先创建一个备份策略文件,然后使用mysqlbackup命令进行备份和增量备份。最后使用scp命令将备份数据复制到远程主机。需要注意的是,远程主机需要提前配置好免密登录。