xtrabackup
XtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心。阿里的 RDS MySQL 物理备份就是基于这个工具做的。由于是采取物理拷贝的方式来做的备份,所以速度非常快,几十G数据几分钟就搞定了,而它巧妙的利用了mysql 特性做到了在线热备份,不用像以前做物理备份那样必须关闭数据库才行,直接在线就能完成整库或者是部分库的全量备份和增量备份。
安装
安装仓库Install the Percona repository
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm
测试一下仓库里是否含有最新版的资源
yum list | grep percona
安装packages
yum install percona-xtrabackup-24
数据备份
- 全量备份
innobackupex ----defaults-file=/etc/my.cnf --user=root --password=root /root/back
数据恢复
关闭数据库服务
service mysql stop
执行数据恢复命令*(注意my.cnf里配置的datadir目录必须是一个空目录,因此在恢复数据之前,要先datadir到别的目录,然后新建一个空目录再执行恢复)
innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /path/to/backup
给新建的目录变更权限
chown -R mysql. /app/mysql/data
启动mysql服务
service mysql start