使用XtraBackup可以实现MySQL的热备份,即备份期间数据库读写自由(DDL除外),同时避免全量备份导致的高IO,备份和恢复都通过物理层进行,效率高,对比mysqldump每次全量的逻辑备份提升不少。
但是有2点需要注意:
1、热备份期间,DDL会锁
2、MySQL版本需要支持lock tables for backup,否则无法实现热备份
另外,从效率角度看主从备份和本地的binlog数据备份区别不大,只是在物理机上降低的数据丢失的风险以及全量dump不占用主节点的资源,效率上看主从备份还不如本地的binlog备份(多了异步主从的同步成本和风险)
此外,MariaDB在10.1.23版本后也开发了MariaBackup,功能和XtraBackup类似,也可以参考使用。
http://mysql.taobao.org/monthly/2016/03/07/
https://blog.51cto.com/13178102/2151512
https://www.cnblogs.com/f-ck-need-u/p/9018716.html