使用 XtraBackup 对 MySQL 进行热备份以及数据恢复

红薯 发布于 2011/03/05 23:01
阅读 2K+
收藏 13

XtraBackup 是一个用来备份 MySQLInnoDB 数据库的开源工具,支持热备和增量备份,性能非常高。

安装很简单,RedHat 的系统安装方法如下:

1. 下载 rpm 安装包 (xtrabackup-1.4-74.rhel5.x86_64.rpm)
2. rpm -ivh xtrabackup-1.4-74.rhel5.x86_64.rpm

其他系统(Windows、BSD 和 Ubuntu)的安装方法请看这里

备份:

1. 备份到某个目录:
xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/data/backups/mysql/

xtrabackup 命令参数详细列表请看这里

你可以直接在 my.cnf 中增加 [XtraBackup] 来指定 xtrabackup 的参数,例如指定 user 和 password ,这样就无需在备份的时候输入密码了。

2. 恢复备份数据

a. 停止 MySQL 服务:$ /etc/init.d/mysqld stop 或者 service mysql stop

b. 修改 my.cnf 的 datadir 到备份目录:datadir=/data/backups/mysql/

c. 启动 MySQL 服务:$ /etc/init.d/mysqld start 后者 service mysql start

还是挺简单的,至于增量备份,必须在备份的时候指定上次备份的目录

xtrabackup --backup --target-dir=/data/backups/inc1 --incremental-basedir=/data/backups/base --datadir=/var/lib/mysql/

加载中
0
虫虫
虫虫

OSChina用了吗?

0
红薯
红薯

引用来自#2楼“虫虫”的帖子

OSChina用了吗?

oschina 用的是 mysqldump 在凌晨时备份的,没用这个,这种方法对跨平台没有问题,例如linux上备份mysql 5.5 可以放到windows下的mysql5.1上去恢复。就是速度慢点。

0
szf
szf

好实用的贴子,顶了

0
pyruby
pyruby

引用来自“红薯”的答案

引用来自#2楼“虫虫”的帖子

OSChina用了吗?

oschina 用的是 mysqldump 在凌晨时备份的,没用这个,这种方法对跨平台没有问题,例如linux上备份mysql 5.5 可以放到windows下的mysql5.1上去恢复。就是速度慢点。

凌晨是做完全备份吗?还是什么?红薯大哥
mahone
mahone
回复 @宝仔love : 如何做增量备份?
pyruby
pyruby
回复 @殊麒 : 虽然我也是这么做的,呵呵
pyruby
pyruby
回复 @殊麒 : 你的想法不代表@红薯 oschina的想法哦
殊麒
殊麒
回复 @mahone : 这种没必要每天完全备份吧。一般都是每天增量备份,每周完全备份,有效利用备份空间和效率。
mahone
mahone
+1, 求问。
返回顶部
顶部