支持InnoDB的物理热备份,支持完全备份,增量备份,而且速度非常快,而且支持InnoDB引擎的数据在不同数据库迁移
为了让xtrabackup支持更多的功能扩展,配置InnoDB每表一个文件的功能
在my.cnf的mysqld中加入此项: innodb_file_per_table=1
此项不启用将不支持备份单独的表
但如果之前没有启用这个选项,要实现单表一文件的话,可以用mysqldump导出数据,然后启用该选项,恢复回去后就是单表一文件了
首先,下载xtrabackup。
下载地址:http://www.percona.com/software/percona-xtrabackup
可以直接下载rpm包安装即可
xtrabackup有完全备份,增量备份和部分备份(前面开启innodb每表一文件,就是为了此功能)
1.完全备份整个数据库
此时会在/tmp/backup目录下生成以时间为名的文件夹,里面是备份文件
在这里,备份的数据还不能直接用来还原,因为备份数据中会含有尚未提交的事务或者未同步到数据文件中的事物。这里需要用prepare回滚事物使数据文件处于一致性。
2.增量备份
增量备份支持Innodb,对于MyISAM只能完全备份
在进行一次增量备份--incremental-basedir要指向上一次增量备份的目录
如果要进行还原,先进行prepare处理
这里处理的方式,将备份合并
最后使用完全备份的那个备份还原。
至于差异备份,只要每次将basedir指向完全备份文件夹就行了。
补充:
要实现时间点还原,是需要使用二进制日志的,所以备份好二进制日志至关重要。
除非在恢复时间点和上一次备份时间点这段时间的数据对你来说无所谓。