MySQL增量備份是在全量備份的基礎上,僅備份增量數據的一種備份方式。當數據量較大時,全量備份所需的時間和存儲空間都會很大。而增量備份只需備份新增或更新的數據,時間和空間開銷都得到了很大的縮減。
如果僅僅是將備份數據寫到同一臺服務器上,仍然會存在一定的風險。一旦服務器本身發生了故障,備份數據也同樣無法恢復。因此,將備份數據寫到另外一個主機上是一個較好的選擇,這樣即使主機發生故障,備份數據也能夠保住。
# 創建備份策略文件 vim /etc/mysql/backup.cnf # 添加以下內容 [client] user=root password=yourpassword [mysqldump] quick quote-names max_allowed_packet=16M single-transaction flush-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命令將備份數據復制到遠程主機。需要注意的是,遠程主機需要提前配置好免密登錄。
上一篇mysql增量備份還原
下一篇mysql 深度優化