MySQL备份工具 percona/xtrabackup 原理及使用
Contents
Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库物理热备的备份工具,支持MySQL、Percona server和MariaDB,开源免费,是目前较为受欢迎的主流备份工具。xtrabackup只能备份innoDB和xtraDB两种数据引擎的表,而不能备份MyISAM数据表。
MySQL冷备、mysqldump、MySQL热拷贝都无法实现对数据库进行增量备份。
xtrabackup包含两个主要的工具,即xtrabackup和innobackupex,二者区别如下:
- xtrabackup只能备份innodb和xtradb两种引擎的表,而不能备份myisam引擎的表;
- innobackupex是一个封装了xtrabackup的Perl脚本,支持同时备份innodb和myisam,但在对myisam备份时需要加一个全局的读锁。myisam不支持增量备份。
安装
|
|
备份加锁
对于不支持backup lock的版本,只能通过flush tables with read lock
来获取全局读锁,但这样也同样会锁住innodb表,杀伤力太大。所以使用xtrabackup备份Oracle的MySQL,实质上只能实现innodb表的部分时间热备、部分时间温备。
对于支持backup lock的版本,xtrabackup通过lock tables for backup
获取轻量级的backup locks来替代flush tables with read lock,因为它只锁定非innodb表,所以由此实现了innodb表的真正热备。
备份和恢复
常用参数:
|
|
备份
|
|
恢复
|
|