使用Xtrabackup对mysql做在线热备份
2011-03-04 15:04
316 查看
上一篇文章写了关于mysqldump做备份以及使用mysqlbinlog做增量备份
Mysqldump做为数据的逻辑备份工具还行,但是无法进行在线热备,而没有物理备份工具,在数据量比较大的时候,恢复的时间也会长得无法接受。
注:此文并非原创,而是以前看到一个侠客写的,今天只是贴出来与大家共享,哪位侠客如有冒犯,敬请原谅。
percona出品的Xtrabackup
可以在线对InnoDB/XtraDB引擎的表进行物理备份,备份及还原速度都很快,下面是一个实际备份的例子,采用了gzip将备份流进行压缩后再另外一台机器上还原的一个
实例,
1.软件安装:
首先得在备份和数据还原的机器上都得安装下列软件(附:安装最新版本的xtrabackup,备份成功,但是无法恢复回去)
1.MySQL-client-community-5.0.41-0.rhel5.x86_64.rpm
2.perl-DBI-1.52-2.el5.x86_64.rpm
3.xtrabackup-0.7-1.rhel5.x86_64.rpm
直接通过rpm -Uvh 包就可以直接进行安装了。
2.数据备份
执行下面命令进行文件备份,
innobackupex-1.5.1 --user=root --password="123456" --defaults-file=/etc/my.cnf --slave-info --stream=tar /data/backup/test 2> /data/backup/test.log | gzip > /data/backup/test/sz-5-2.tar.gz
简单的对各个参数的说明:
--user --password
mysql数据库的用户名和密码,如果有myisam的表为了保证数据的一致性,它需要用户名和密码对数据库进行锁表,具体锁表的时间是拷贝整个myisam表的表文件和数据文件的时间
--defaults-file
mysql数据库的默认配置文件my.cnf保存的位置
--slave-info
方便通过全备建立一个从
--stream
文件流保存的方式,一般采用tar,另外一种为cpio方式,这种方式一下使用很少
/data/backup/test
备份后数据文件保存的位置
2> /data/backup/test.log
备份当中的输出信息输出到/data/backup/test.log中
| gzip -9 > /data/backup/test/sz-5-2.tar.gz
对输出的流进行gzip进行压缩。
3.数据还原
编译完mysql以后,把备份机器my.cnf拷贝到/etc/目录下 ,并建立mysql的数据目录,记住了别通过mysql_install_db初始化数据库。
把文件拷贝到一个目录当中,譬如/data/backup/test中
1.解压:
千万记得使用这个命令进行解压: tar xfi 备份文件
2. 执行innobackupex-1.5.1 --defaults-file=/etc/my.cnf --apply-log /data/backup/test/
3. 执行innobackupex-1.5.1 --defaults-file=/etc/my.cnf --copy-back /data/backup/test/
4.进入mysql的数据目录当中,对所有文件赋给mysql用户的权限,
5.启动mysql
本文出自 “海风的linux之路” 博客,请务必保留此出处http://lhflinux.blog.51cto.com/1961662/506481
Mysqldump做为数据的逻辑备份工具还行,但是无法进行在线热备,而没有物理备份工具,在数据量比较大的时候,恢复的时间也会长得无法接受。
注:此文并非原创,而是以前看到一个侠客写的,今天只是贴出来与大家共享,哪位侠客如有冒犯,敬请原谅。
percona出品的Xtrabackup
可以在线对InnoDB/XtraDB引擎的表进行物理备份,备份及还原速度都很快,下面是一个实际备份的例子,采用了gzip将备份流进行压缩后再另外一台机器上还原的一个
实例,
1.软件安装:
首先得在备份和数据还原的机器上都得安装下列软件(附:安装最新版本的xtrabackup,备份成功,但是无法恢复回去)
1.MySQL-client-community-5.0.41-0.rhel5.x86_64.rpm
2.perl-DBI-1.52-2.el5.x86_64.rpm
3.xtrabackup-0.7-1.rhel5.x86_64.rpm
直接通过rpm -Uvh 包就可以直接进行安装了。
2.数据备份
执行下面命令进行文件备份,
innobackupex-1.5.1 --user=root --password="123456" --defaults-file=/etc/my.cnf --slave-info --stream=tar /data/backup/test 2> /data/backup/test.log | gzip > /data/backup/test/sz-5-2.tar.gz
简单的对各个参数的说明:
--user --password
mysql数据库的用户名和密码,如果有myisam的表为了保证数据的一致性,它需要用户名和密码对数据库进行锁表,具体锁表的时间是拷贝整个myisam表的表文件和数据文件的时间
--defaults-file
mysql数据库的默认配置文件my.cnf保存的位置
--slave-info
方便通过全备建立一个从
--stream
文件流保存的方式,一般采用tar,另外一种为cpio方式,这种方式一下使用很少
/data/backup/test
备份后数据文件保存的位置
2> /data/backup/test.log
备份当中的输出信息输出到/data/backup/test.log中
| gzip -9 > /data/backup/test/sz-5-2.tar.gz
对输出的流进行gzip进行压缩。
3.数据还原
编译完mysql以后,把备份机器my.cnf拷贝到/etc/目录下 ,并建立mysql的数据目录,记住了别通过mysql_install_db初始化数据库。
把文件拷贝到一个目录当中,譬如/data/backup/test中
1.解压:
千万记得使用这个命令进行解压: tar xfi 备份文件
2. 执行innobackupex-1.5.1 --defaults-file=/etc/my.cnf --apply-log /data/backup/test/
3. 执行innobackupex-1.5.1 --defaults-file=/etc/my.cnf --copy-back /data/backup/test/
4.进入mysql的数据目录当中,对所有文件赋给mysql用户的权限,
5.启动mysql
本文出自 “海风的linux之路” 博客,请务必保留此出处http://lhflinux.blog.51cto.com/1961662/506481
相关文章推荐
- 使用Percona XtraBackup对MySQL进行在线热备份
- XtraBackup - 开源MySQL在线热备份工具安装使用
- 使用 Xtrabackup 在线对MySQL做主从复制【转】
- mysql之使用xtrabackup进行物理备份、恢复、在线克隆从库、在线重做主从
- 使用 Xtrabackup 在线对MySQL做主从复制
- MySQL的热备份开源工具XtraBackup 备份并使用ftp脚本上传备份数据
- 使用 Xtrabackup 在线对MySQL做主从复制
- 如何使用jQuery+PHP+MySQL来实现一个在线测试项目
- Linux下使用meb在线热备MySQL示例
- 使用XtraBackup备份MySQL
- 使用Xtrabackup备份 MySQL 数据库
- 使用Xtrabackup来备份你的mysql
- MySQL进阶——使用xtrabackup进行数据库备份
- 使用Xtrabackup来备份你的mysql
- MySQL管理之使用XtraBackup进行热备
- 使用Xtrabackup进行MySQL备份
- 使用Xtrabackup进行MySQL备份
- 第三十二天 MySQL服务器日志、备份恢复、MySQLdump及xtrabackup的使用
- MySQL使用pt-online-change-schema工具在线修改1.6亿级数据表结构
- MySQL--使用xtrabackup进行备份还原