mysql 增量備份方法:使用 binlog 和 change master:啟用二進制日志并記錄起始位點,使用 mysqldump 備份并更新起始位點。使用 pt-table-checksum:創建初始快照,使用 pt-table-checksum 進行增量備份。
MySQL 增量備份方法
開門見山:如何進行 MySQL 增量備份?
MySQL 提供了兩種主要方法進行增量備份:
方法 1:使用 binlog 和 CHANGE MASTER
開啟二進制日志記錄:確保已啟用 MySQL 二進制日志,以便記錄所有數據庫更改。
記錄起始位點:記下當前二進制日志文件和位點。
進行增量備份:使用如下命令進行備份:
<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15713.html" target="_blank">mysql</a>dump -B --master-data=2 --start-position=START_POSITION --stop-position=STOP_POSITION DATABASE_NAME > backup.sql
登錄后復制
-
更新起始位點:備份完成后,獲取新二進制日志文件和位點,并更新 master-data 值。
方法 2:使用 pt-table- checksum
安裝 pt-table-checksum 工具:這是一個開源工具,用于生成數據庫快照和跟蹤更改。
創建快照:使用以下命令創建初始快照:
pt-table-checksum --create DATABASE_NAME > snapshot.chk
登錄后復制
-
增量備份:使用以下命令進行增量備份:
pt-table-checksum --update DATABASE_NAME --base-checksum=snapshot.chk --snapshot=new_snapshot.chk > incremental.sql
登錄后復制
詳細展開:
方法 1 的優點:
備份速度快,因為只備份了自上次備份以來發生的更改。
恢復容易,只需重放二進制日志即可。
方法 1 的缺點:
依賴于二進制日志,如果日志損壞,可能導致數據丟失。
備份大小受二進制日志大小限制。
方法 2 的優點:
與二進制日志無關,因此更可靠。
備份大小通常較小,因為只備份了更改的記錄。
方法 2 的缺點:
備份速度可能比方法 1 慢。
恢復需要使用 pt-table-checksum 工具。