xtrabackup 备份恢复 mysql 全备(一)
2013-06-14 17:22
651 查看
Xtrabackup 是percona公司的开源项目,用以实现类似innodb官方的热备份工具InnoDB Hot Backup的功能,能够非常快速地备份与恢复mysql数据库。Xtrabackup中包含两个工具:
xtrabackup是用于热备份innodb和xtradb表中数据的工具,不能备份其他引擎的表,也不能备份数据表结构;
innobackupex是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。
安装rpm包,rpm包可以从官网下载
[root@aeolus1 ~]# rpm -ivh percona-xtrabackup-2.1.3-608.rhel5.x86_64.rpm
warning: percona-xtrabackup-2.1.3-608.rhel5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID cd2efd2a
Preparing... ########################################### [100%]
1:percona-xtrabackup ########################################### [100%]
安装完毕,在/usr/bin 下有如下两个工具innobackupex和xtrabackup
root@aeolus1 bin]# ll inno*
-rwxr-xr-x 1 root root 110738 May 23 02:24 innobackupex
lrwxrwxrwx 1 root root 12 Jun 9 18:18 innobackupex-1.5.1 -> innobackupex
[root@aeolus1 bin]# ll *xtrabackup*
-rwxr-xr-x 1 root root 2894280 May 23 02:25 xtrabackup
-rwxr-xr-x 1 root root 4494952 May 23 02:25 xtrabackup_55
-rwxr-xr-x 1 root root 11633272 May 23 02:25 xtrabackup_56
通过一个实例,展现xtrabackup全备完整的备份恢复过程,以及注意的问题。
1 创建一个全备
Innobackupex --user=root --password=passwd /root/mysqlbackup/
这样就创建了一个全备,备份文件存储在以时间戳为目录名下面,
还有以下选项
--defaults-file=/etc/my.cnf 备份时使用的mysql配置文件
--no-timestamp 不以时间戳命名目录名
2 创建了备份之后,数据还不能用于恢复。一些某提交的事务还可能未撤销或者日志中的事务要重播,为了保证数据一致性,我们需要apply日志到备份的文件上。
innobackupex --apply-log /root/mysqlbackup/2013-06-14_16-20-56
这样备份的数据就可以应用与恢复
3 drop database mysql 然后恢复
innobackupex --user=root --copy-back /root/mysqlbackup/2013-06-14_16-20-56
恢复完毕,改变数据文件的权限,启动数据库
chown -R mysql:mysql /usr/local/mysql/data
需要注意的是,全恢复情况下,
1 服务器必须关闭,只要部分恢复的时候,服务器不用关闭。
2 datadir参数目录必须为空,如果存在文件,--copy-back 将不拷贝
3 每次操作完毕,确认日志最后是否有 innobackupex: completed OK!标志着动作的完成。
xtrabackup是用于热备份innodb和xtradb表中数据的工具,不能备份其他引擎的表,也不能备份数据表结构;
innobackupex是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。
安装rpm包,rpm包可以从官网下载
[root@aeolus1 ~]# rpm -ivh percona-xtrabackup-2.1.3-608.rhel5.x86_64.rpm
warning: percona-xtrabackup-2.1.3-608.rhel5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID cd2efd2a
Preparing... ########################################### [100%]
1:percona-xtrabackup ########################################### [100%]
安装完毕,在/usr/bin 下有如下两个工具innobackupex和xtrabackup
root@aeolus1 bin]# ll inno*
-rwxr-xr-x 1 root root 110738 May 23 02:24 innobackupex
lrwxrwxrwx 1 root root 12 Jun 9 18:18 innobackupex-1.5.1 -> innobackupex
[root@aeolus1 bin]# ll *xtrabackup*
-rwxr-xr-x 1 root root 2894280 May 23 02:25 xtrabackup
-rwxr-xr-x 1 root root 4494952 May 23 02:25 xtrabackup_55
-rwxr-xr-x 1 root root 11633272 May 23 02:25 xtrabackup_56
通过一个实例,展现xtrabackup全备完整的备份恢复过程,以及注意的问题。
1 创建一个全备
Innobackupex --user=root --password=passwd /root/mysqlbackup/
这样就创建了一个全备,备份文件存储在以时间戳为目录名下面,
还有以下选项
--defaults-file=/etc/my.cnf 备份时使用的mysql配置文件
--no-timestamp 不以时间戳命名目录名
2 创建了备份之后,数据还不能用于恢复。一些某提交的事务还可能未撤销或者日志中的事务要重播,为了保证数据一致性,我们需要apply日志到备份的文件上。
innobackupex --apply-log /root/mysqlbackup/2013-06-14_16-20-56
这样备份的数据就可以应用与恢复
3 drop database mysql 然后恢复
innobackupex --user=root --copy-back /root/mysqlbackup/2013-06-14_16-20-56
恢复完毕,改变数据文件的权限,启动数据库
chown -R mysql:mysql /usr/local/mysql/data
需要注意的是,全恢复情况下,
1 服务器必须关闭,只要部分恢复的时候,服务器不用关闭。
2 datadir参数目录必须为空,如果存在文件,--copy-back 将不拷贝
3 每次操作完毕,确认日志最后是否有 innobackupex: completed OK!标志着动作的完成。
相关文章推荐
- MySQL备份恢复之XtraBackup
- mysqldump+binlog的备份与恢复和xtrabackup备份工具
- xtrabackup备份与恢复MySQL
- mysql备份与恢复-xtrabackup
- Xtrabackup2.4.8备份、还原、恢复Mysql5.7.19实操
- MySQL_Xtrabackup数据备份与恢复
- xtrabackup恢复备份后,mysql无法启动,报Job failed to start
- mysql之备份和恢复(msyqldump、LVM、xtrabackup)
- MySQL备份恢复之XtraBackup
- mysql备份、恢复之xtrabackup
- xtrabackup备份和恢复MySQL
- MySQL备份与恢复之percona-xtrabackup软件的使用
- 【MySQL】MySQL备份恢复工具之XtraBackup
- XtraBackup全量备份与恢复MySQL数据
- MySQL备份与恢复常用方法总结(mysqldump/xtrabackup/lvm快照备份/逻辑备份与恢复/二进制日志及时点恢复) 推荐
- MySQL备份利器之Xtrabackup--恢复
- xtrabackup对MySQL进行备份和恢复(centos 6.6)
- xtrabackup对MySQL进行备份和恢复的全过程
- MySQL备份恢复之XtraBackup
- MySQL在线备份与恢复工具 --> Xtrabackup