xtrabackup使用 可以用在myisam吗

李伯亿 的BLOG
用户名:李伯亿
文章数:58
评论数:41
访问量:7245
注册日期:
阅读量:5863
阅读量:12276
阅读量:308665
阅读量:1025159
51CTO推荐博文
###############IT--小哥原创,如有雷同,纯属抄袭#################1、xtrabackup简介Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。  Xtrabackup有两个主要的工具:xtrabackup、innobackupex  (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表  (2)innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁官网:2、xtrabackup的安装2.1 安装配置配置数据存储的目录[root@xiaoya ~]# cat /f |grep datadirdatadir=/var/lib/mysql2.2 xtrabackup之二进制安装[root@xiaoya opt]#wget /downloads/XtraBackup/Percona-XtraBackup-2.3.3/binary/redhat/6/x86_64/Percona-XtraBackup-2.3.3-r525ca7d-el6-x86_64-bundle.tar[root@xiaoya opt]# tar xf Percona-XtraBackup-2.3.3-r525ca7d-el6-x86_64-bundle.tar[root@xiaoya opt]# lspercona-xtrabackup-2.3.3-1.el6.x86_64.rpmPercona-XtraBackup-2.3.3-r525ca7d-el6-x86_64-bundle.tarpercona-xtrabackup-debuginfo-2.3.3-1.el6.x86_64.rpmpercona-xtrabackup-test-2.3.3-1.el6.x86_64.rpm安装必须的libev.so库地址:[root@xiaoya ~]#wget [root@xiaoya ~]# rpm -ivh libev-4.03-3.el6.x86_64.rpmwarning: libev-4.03-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID : NOKEYPreparing...&&&&&&&&&&&&&&& ########################################### [100%]&& 1:libev&&&&&&&&&&&&&&&&& ########################################### [100%][root@xiaoya ~]# rpm -qa libevlibev-4.03-3.el6.x86_64[root@xiaoya opt]#& rpm -ivh percona-xtrabackup-2.3.3-1.el6.x86_64.rpmPreparing...&&&&&&&&&&&&&&& ########################################### [100%]&& 1:percona-xtrabackup&&&& ########################################### [100%][root@xiaoya opt]#& rpm -ivh percona-xtrabackup-debuginfo-2.3.3-1.el6.x86_64.rpmPreparing...&&&&&&&&&&&&&&& ########################################### [100%]&& 1:percona-xtrabackup-debu########################################### [100%]###############IT--小哥原创,如有雷同,纯属抄袭################################IT--小哥原创,如有雷同,纯属抄袭################################IT--小哥原创,如有雷同,纯属抄袭#################2.3 xtrabackup之yum安装2.3.1 Install the Percona repository[root@xiaoya ~]# yum install2.3.2 Testing the repository[root@xiaoya ~]# yum list | grep percona……percona-xtrabackup-22.x86_64&&&&&&&&&&&&&&& 2.2.13-1.el6&&&&&&&&&&&&&&& percona-xtrabackup.x86_64&&&&&&&&&&&&&&&&&& 2.3.3-1.el6&&&&&&&&&&&&&&&& percona-xtrabackup-20.x86_64&&&&&&&&&&&&&&& 2.0.8-587.rhel6&&&&&&&&&&&& percona-xtrabackup-20-debuginfo.x86_64&&&&& 2.0.8-587.rhel6&&&&&&&&&&&& percona-xtrabackup-20-test.x86_64&&&&&&&&&& 2.0.8-587.rhel6&&&&&&&&&&&& percona-xtrabackup-21.x86_64&&&&&&&&&&&&&&& 2.1.9-746.rhel6&&&&&&&&&&&& percona-xtrabackup-21-debuginfo.x86_64&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&2.1.9-746.rhel6& &&&&&&&&&&&percona-xtrabackup-22-debuginfo.x86_64&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2.2.13-1.el6&&&&&&&&&&&&&&&percona-xtrabackup-debuginfo.x86_64&&&&&&& 2.3.3-1.el6&&&&&&&&&&&&&&&& percona-xtrabackup-test.x86_64& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2.3.3-1.el6&&&&&&&&&&&&&&&&percona-xtrabackup-test-21.x86_64&&&&&&&&&& 2.1.9-746.rhel6&&&&&&&&&&&& percona-xtrabackup-test-22.x86_64&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&2.2.13-1.el6&&&&&&&&&&&&&&&……2.3.3 Install the packages[root@xiaoya ~]# yum install percona-xtrabackup-222.3.4 check tish packages[root@xiaoya ~]# rpm -qa percona-xtrabackup-22percona-xtrabackup-22-2.2.13-1.el6.x86_642.4 xtrabackup安装错误总结2.4.1 xtrabackup安装错误错误一:报错如下:[root@xiaoya opt]# rpm -ivh percona-xtrabackup-2.3.3-1.el6.x86_64.rpmwarning: percona-xtrabackup-2.3.3-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEYerror: Failed dependencies:&&&&&&&& libev.so.4()(64bit) is needed by percona-xtrabackup-2.3.3-1.el6.x86_64&&&&&&& perl(DBD::mysql) is needed by percona-xtrabackup-2.3.3-1.el6.x86_64原因:缺少安装必须的libev.so.4库。缺少perl。&错误二:报错如下:[root@xiaoya opt]#& rpm -ivh percona-xtrabackup-test-2.3.3-1.el6.x86_64.rpmerror: Failed dependencies:&&&&&&& /usr/bin/mysql is needed by percona-xtrabackup-test-2.3.3-1.el6.x86_64解决:ln -s /application/mysql/bin/mysql /usr/bin/mysqlexport&PATH=/application/mysql/bin:$PATH###############IT--小哥原创,如有雷同,纯属抄袭#################本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)博客访问: 3276963
博文数量: 671
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Linux
  说到备份MySQL数据库,不少人可能会先想到其自带的命令行工具mysqldump,要说这个工具确实不错,操作简单调用灵活,不过mysqldump属于逻辑备份工具,类似ORACLE数据库中的export,小数据量时效率尚可,当数据量达到一定规模时,使用mysqldump执行备份的时间也许还可接受,但恢复时间基本就不能忍受了。
  这种情况下就需要一种好用又高效的工具,xtrabackup就是其中一款,号称免费版的InnoDB&HotBackup。
Xtrabackup提供了两种命令行工具:
xtrabackup:专用于备份InnoDB引擎的数据;
innobackupex:这是一个perl脚本,在执行过程中会调用xtrabackup命令,这样用该命令即可以实现备份InnoDB,也可以备份MyISAM引擎的对象。
  目前xtrabackup最新版本已经升级到了1.6版本,可以到免费下载。
  Xtrabackup提供了Linux下常见的安装方式,包括RPM安装,源码编译方式,以及二进制版本安装,这里三思尝试下载了最新的1.6源码包,决定自行编译安装。
  1.6版本的源码包相较之前大了数十倍,主要是由于源码包中同时包含了mysql5.1和mysql5.5的源码包,一个2M左右的小软件,居然内置了两个各有20余M的软件安装包,这真不是一般人都想的出来的。
  由于1.6版本新推不久,官网中的文档都没有来的及更新完善,源码方式的安装文档也并不完整,三思也只能连蒙带猜,下列安装步骤有可能并非最佳安装方式,仅只是提供了一种,源码安装xtrabackup并使其可用的方式。
  由于xtrabackup依赖libinnodb链接库,因此需要先编译InnoDB,而后再编译xtrabackup。要编译安装xtrabackup最简单的方式当然是使用提供的编译脚本,首先还是解压缩文件,并进入到安装目录:
[root@rhel5u3&software]#&tar&xvfz&xtrabackup-1.6.tar.gz [root@rhel5u3&software]#&cd&xtrabackup-1.6
  ll的话会看到目录有两mysql-5.1.56.tar.gz和mysql-5.5.10.tar.gz两个mysql源码包,正是这两个源码包占用了大量的空间。除此外还有一个innobackupex的perl脚本程序,该脚本可以直接执行,不过执行备份任何时会报:
sh:&xtrabackup_55:&command&not&found
innobackupex:&fatal&error:&no&'mysqld'&group&in&MySQL&options innobackupex:&fatal&error:&OR&no&'datadir'&option&in&group&'mysqld'&in&MySQL&options
  提示xtrabackup_55命令不存在,接下来就是要编译xtrabackup。
  在解压缩目录下执行utils/build.sh,注意一定要在xtrabackup安装目录内执行,执行时要指定与之匹配的MySQL数据库版本。
[root@rhel5u3&xtrabackup-1.6]#&utils/build.sh&
Build&an&xtrabackup&binary&against&the&specified&InnoDB&flavor.
Usage:&build.sh&CODEBASE
where&CODEBASE&can&be&one&of&the&following&values&or&aliases:
&&innodb51_builtin&|&5.1&&&&&&&&build&against&built-in&InnoDB&in&MySQL&5.1
&&innodb55&&&&&&&&&|&5.5&&&&&&&&build&against&InnoDB&in&MySQL&5.5
&&xtradb51&&&&&&&&&|&xtradb&&&build&against&Percona&Server&with&XtraDB&5.1 &&xtradb55&&&&&&&&&|&xtradb55&build&against&Percona&Server&with&XtraDB&5.5
  三思安装的是mysql5.5,因此这里指定innodb55,执行命令如下:
[root@rhel5u3&xtrabackup-1.6]#&utils/build.sh&innodb55&
  该脚本会根据指定的引擎版本,自动解压缩适当的MySQL源码包并进行编译,这是最简单的安装方式。
  命令执行完成之后,xtrabackup就可以用了,一般默认编译后该文件保存在xtrabackup-1.6/mysql-5.5.10/storage/innobase/xtrabackup/目录下,当然也可以通过find命令查找xtrabackup的具体路径。
  创建两个软链接,以方便调用XtraBackup命令执行备份:
[root@rhel5u3&xtrabackup-1.6]#&ln&-s&/data/software/xtrabackup-1.6/innobackupex&/usr/local/mysql55/bin/innobackupex [root@rhel5u3&xtrabackup-1.6]#&ln&-s&/data/software/xtrabackup-1.6/mysql-5.5.10/storage/innobase/xtrabackup/xtrabackup_innodb55&/usr/local/mysql55/bin/xtrabackup_55
  将mysql55的bin加载到path环境变量,当然这步多数情况下应该在安装mysql时做过了:
[root@rhel5u3&xtrabackup-1.6]#&export&PATH=$PATH:/usr/local/mysql55/bin
  至此,XtraBackup的源码安装就完成了,接下来就可以使用这些命令执行备份任务了。例如,调用xtrabackup命令执行备份,举个简单的备份示例如下:
[root@rhel5u3&~]#&xtrabackup_55&--defaults-file=/data/mysqldata/f&--backup&--target-dir=/data/mysql_
xtrabackup_55&&Ver&undefined&Rev&undefined&for&5.5.10&Linux&(x86_64)
xtrabackup:&uses&posix_fadvise().
xtrabackup:&cd&to&/data/mysqldata/3306/data
xtrabackup:&Target&instance&is&assumed&as&followings.
xtrabackup:&&&innodb_data_home_dir&=&/data/mysqldata/3306/innodb_ts
xtrabackup:&&&innodb_data_file_path&=&ibdata1:10M:autoextend
xtrabackup:&&&innodb_log_group_home_dir&=&/data/mysqldata/3306/innodb_log
xtrabackup:&&&innodb_log_files_in_group&=&2
xtrabackup:&&&innodb_log_file_size&=&5242880
:31:16&InnoDB:&Using&Linux&native&AIO
>>&log&scanned&up&to&(1598402)
[01]&Copying&/data/mysqldata/3306/innodb_ts/ibdata1&
&&&&&to&/data/mysql_/ibdata1
[01]&&&&&&&&...done
xtrabackup:&The&latest&check&point&(for&incremental):&'1598402'
>>&log&scanned&up&to&(1598402)
xtrabackup:&Stopping&log&copying&thread. xtrabackup:&Transaction&log&of&lsn&(1598402)&to&(1598402)&was&copied.
阅读(5479) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
innobackupex用于备份非innodb数据啊,也需要用~~~
原帖由wbclovejyc于 11:02:52发表
[root@rhel5u3 xtrabackup-1.6]# ln -s /data/software/xtrabackup-1.6/innobackupex /usr/local/mysql55/b
[root@rhel5u3 xtrabackup-1.6]# ln -s /data/software/xtrabackup-1.6/innobackupex /usr/local/mysql55/bin/innobackupex
[root@rhel5u3 xtrabackup-1.6]# ln -s /data/software/xtrabackup-1.6/mysql-5.5.10/storage/innobase/xtrabackup/xtrabackup_innodb55 /usr/local/mysql55/bin/xtrabackup_55
第一个软连接的“innobackupex”
是做什么用的?
请登录后评论。您所在的位置: &
详解xtrabackup对MySQL进行备份和恢复的全过程
详解xtrabackup对MySQL进行备份和恢复的全过程
yongsheng0550
本文我们详细介绍了使用xtrabackup对MySQL进行备份和恢复全部过程,包括完整备份、打包、增量备份以及完整备份恢复和增量备份恢复的过程,希望能够对您有所帮助。
对MySQL数据库的备份与恢复是非常有必要的,它可以用很多种方法来实现,本文我们主要介绍了使用Xtrabackup来进行备份的全部过程,接下来就让我们一起来了解一下这部分内容。
Xtrabackup是percona公司的开源项目,用以实现类似innodb官方的热备份工具InnoDB Hot Backup的功能,能够非常快速地备份与恢复mysql数据库。 Xtrabackup中包含两个工具:
xtrabackup是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构;
innobackupex是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。
由于innobackupex的功能更为全面和完善,所以,本文以innobackupex作为基础进行研究描述。
下载和安装
在以下地址可以下载到xtrabackup:/downloads/XtraBackup/,可以根据自己的需要选择稳定版本或者最新版本以及操作系统、源码包或者rpm包等等。
我下载到的是xtrabackup-1.6.tar,是一个二进制压缩包,解压后可直接使用。
将下载到的文件包进行解压tar zxvf xtrabackup-1.6.tar,然后在/usr/bin中建立相关应用的链接:
ln&-s&/usr/bin/innobackupex&/root/xtrabackup-1.6/bin/innobackupex&& &ln&-s&/usr/bin/xtrabackup&/root/xtrabackup-1.6/bin/xtrabackup&& &ln&-s&/usr/bin/xtrabackup_51&/root/xtrabackup-1.6/bin/xtrabackup_51&& &ln&-s&/usr/bin/tar4ibd&/root/xtrabackup-1.6/bin/tar4ibd&&
innobackupex是我们要使用的备份工具;
xtrabackup是被封装在innobackupex之中的,innobackupex运行时需要调用它;
xtrabackup_51是xtrabackup运行时需要调用的工具;
tar4ibd是以tar流的形式产生备份时用来打包的工具。
完整备份:
innobackupex&--user=root&--password=MySQLPASSWORD&--defaults-file=/f&--database=test&/mysqlbackup/&&
其中,--user指定连接数据库的用户名,--password指定连接数据库的密码,--defaults-file指定数据库的配置文件,innobackupex要从其中获取datadir等信息;--database指定要备份的数据库,这里指定的数据库只对MyISAM表和InnoDB表的表结构有效,对于InnoDB 数据来说都是全备(所有数据库中的InnoDB数据都进行了备份,不是只备份指定的数据库,恢复时也一样);/mysqlbackup是备份文件的存放位置。
完整备份并打包:
innobackupex&--user=root&--password=MySQLPASSWORD&--defaults-file=/f&--database=test&--stream=tar&/mysqlbackup&&&/mysqlbackup/dbbackup.tar&&
其中,--stream指定流的格式,目前只支持tar。
完整备份并打包压缩:
innobackupex&--user=root&--password=MySQLPASSWORD&--defaults-file=/f&--database=test&--stream=tar&/mysqlbackup/&|&gzip&/mysqlbackup/dbbackup.tar.gz&&
完整备份到远程主机:&
innobackupex&--user=root&--password=&MySQLPASSWORD&--defaults-file=/f&--database=test&--stream=tar&/mysqlbackup&|&ssh&root@remote-host&cat&&&&&&&/mysqlbackup/dbbackup.tar&&
增量备份:
innobackupex&--user=root&--password=MySQLPASSWORD&--database=test&--incremental&--incremental-basedir=/mysqlbackup/_14-50-20/&/mysqlbackup/trn/&&
其中,--incremental指明是增量备份,--incremental-basedir指定上次完整备份或者增量备份文件的位置。这里的增量备份其实只针对的是InnoDB,对于MyISAM来说,还是完整备份。
完整备份恢复:
在进行恢复前,如果完整备份在远程主机上,首先将完整备份复制到本地主机上,如果是tar包,则需要先解包,解包命令为:tar &izxvf dbbackup.tar,这里必须使用-i参数。然后停止mysql数据库并删除欲恢复的数据库文件夹,如:
service&mysql&stop&&
rm&/var/lib/mysql/test&&rf&&
然后将备份文件中的日志应用到备份文件中的数据文件上。
innobackupex&--user=root&--password=MySQLPASSWORD&--apply-log&/mysqlbackup/full/_14-50-20/&&
这里的--apply-log指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中:
innobackupex&--user=root&--password=MySQLPASSWORD&--copy-back&/mysqlbackup/full/_14-50-20/&&
这里的&copy-back指明是进行数据恢复。数据恢复完成之后,需要修改相关文件的权限mysql数据库才能正常启动。
chown&mysql:mysql&/var/lib/mysql/ib*&& &chown&mysql:mysql&/var/lib/mysql/test&& &service&mysql&start&&
注意:这里我虽然指定的是test数据库,但实际上如果其他数据库中也有InnoDB表,那么这些InnoDB表中的数据也会被恢复了。
增量备份恢复:
增量备份恢复的步骤和完整备份恢复的步骤基本一致,只是应用日志的过程稍有不同。增量备份恢复时,是先将所有的增量备份挨个应用到完整备份的数据文件中,然后再将完整备份中的数据恢复到数据库中。命令如下:
应用第一个增量备份
innobackupex&--user=root&--password=MySQLPASSWORD&--defaults-file=/f&--apply-log&/mysqlbackup/full/_14-50-20/&--incremental-dir=/mysqlbackup/trn/_15-12-43/&&
应用第二个增量备份
innobackupex&--user=root&--password=MySQLPASSWORD&--defaults-file=/f&--apply-log&/mysqlbackup/full/_14-50-20/&--incremental-dir=/mysqlbackup/trn/_15-15-47/&&
将完整备份中的数据恢复到数据库中。
innobackupex&--user=root&--password=MySQLPASSWORD&--defaults-file=/f&--copy-back&/mysqlbackup/full/_14-50-20/&&
其中,--incremental-dir指定要恢复的增量备份的位置。
以上就是使用xtrabackup对MySQL进行备份和恢复的全部过程,本文就介绍到这里了,如果您想了解更多关于MySQL数据库的知识,可以看一下这里的文章:,相信一定可以给您带来帮助的!
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&&&&&的更多文章
MySQL数据库的配置工作,一般都是利用相关工具来进行。本专题将
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
你的SQL Server代码安全吗?请你与我一起跟随作者来探
为什么会发生死锁?如何利用SQL Server Profiler分析
Oracle集群,也称Oracle RAC,称为“真正应用集群”。
本书是由长期从事网络管理工作和网络工程人员培训工作的一线网管人员和教学人员精心编写,从现实的技术发展角度和实际应用的角度
51CTO旗下网站Xtrabackup引见和使用【基础篇】 - 数据库当前位置:& &&&Xtrabackup引见和使用【基础篇】Xtrabackup引见和使用【基础篇】&&网友分享于:&&浏览:1次Xtrabackup介绍和使用【基础篇】先说概述&Xtrabackup有2款主要工具:xtrabackup和innobackupexxtrabackup只能备份和恢复innodb,而且只备份.ibd文件,.frm文件它不管,恢复时DBA要自己提供innobackupex能备份和恢复MyISAM文件及.frm文件,并且对xtrabackup作了友好的封装,所以可用它进行全库备份不过有个问题,在对MyISAM备份时,会加个全库读锁,阻塞写服务关于安装依赖包yum install libaio libaio-devel perl-Time-HiRes curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel perl-ExtUtils-MakeMaker perl-DBD-MySQL.* package -y到/downloads/XtraBackup/下载编译好的二进制包即可马上使用下面分别对这2个工具做简单测试innobackupex的备份原理如下图:简单实例备份$ innobackupex --user=root --password=oracle /home/mysql/backup模拟故障$ mysqladmin -uroot -poracle shutdown$ rm -rf /home/mysql/mysql/data/*恢复$ innobackupex --user=root --password=oracle --apply-log /home/mysql/backup/_14-32-27$ innobackupex --user=root --password=oracle --copy-back /home/mysql/backup/_14-32-27&xtrabackup备份原理大概有如下3个过程:① 记录LSN(log sequence number)② 复制文件③ 启动后台进程,不停地记录变化的redo这个流程可以从xtrabackup备份输出结果看出来简单测试备份$ xtrabackup --backup --target-dir=/home/mysql/backup[ backup]$ lsemployees &ibdata1 &xtrabackup_checkpoints &xtrabackup_logfile模拟故障&关闭MySQL,把整个datadir目录清空,不过仅保留mysql和performance_schema这两个库恢复--恢复ibdata1,让数据文件自身保持一致$ xtrabackup --prepare --target-dir=/home/mysql/backup/--恢复ib_logfile0 &ib_logfile1,减少恢复时间$ xtrabackup --prepare --target-dir=/home/mysql/backup/$ rsync -avrP /home/mysql/backup/ /home/mysql/mysql/data/$ chown -R mysql:dba /home/mysql/mysql/data&参考文章:/doc/percona-xtrabackup/2.1/xtrabackup_bin/xtrabackup_binary.htmlhttp://www.//xtrabackup///xtrabackup-process-backgroud//index.php/2009/10/xtrabackup-2/By 迦夜Early start makes easy stages
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有微信公众号:centoscn
centos使用xtrabackup对MySQL进行备份和恢复
1、xtrabackup使用范围
xtrabackup:用于热备份innodb, xtradb引擎的数据表,不能备份其他类型的表,也不能备份数据表结构;
innobackupex:将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力(主要应用该脚本)。
2、xtrabackup的安装
wget&/downloads/XtraBackup/XtraBackup-2.1.2/RPM/rhel6/i686/percona-xtrabackup-2.1.2-612.rhel6.i686.rp&
rpm -ivh&percona-xtrabackup-2.1.2-612.rhel6.i686.rpm
说明:rpm安装的依赖包根据提醒安装既可。
3、安装好软件后,就可以直接使用
eg1:完整备份数据库
innobackupex --user=root --password=xxxxx --defaults-file=/f --database=phpcms /mybak/
/f,需要配置datadir路径
datadir = /usr/local/mysql/data & #在[mysqld]单元末尾中添加数据库存放的文件
---------------------------------------------------------------------------
--database=phpcms #表示需要备份的数据库,如果不加表示备份所有数据库(既完整备份)
/tmp/ & & & & & & #备份的目标位置
---------------------------------------------------------------------------
[root@mysql _21-06-56]# ll & & & & & & & & & & & & &#备份的信息
total 18468
-rw-r--r-- 1 root root & & &260 Oct 19 21:06 f
-rw-r----- 1 root root
Oct 19 21:06 ibdata1
drwxr-xr-x 2 root root & &16384 Oct 19 21:06 phpcms
-rw-r--r-- 1 root root & & & 13 Oct 19 21:06 xtrabackup_binary
-rw-r--r-- 1 root root & & & 23 Oct 19 21:06 xtrabackup_binlog_info
-rw-r----- 1 root root & & & 89 Oct 19 21:06 xtrabackup_checkpoints
-rw-r----- 1 root root & & 2560 Oct 19 21:06 xtrabackup_logfile
eg2:备份打包
innobackupex --user=root --password=xxxxxxx --defaults-file=/f --database=phpcms --stream=tar /mybak & /mybak/phpcms.tar&
--stream=tar #表示打包方式
eg3:完整备份并打包压缩
innobackupex --user=root --password=xxxxxxx --defaults-file=/f --database=phpcms --stream=tar /mybak/ | gzip & /mybak/phpcms.tar.gz&
eg4:远程备份打包
innobackupex --user=root --password=xxxxxx --defaults-file=/f --database=phpcms --stream=tar /mybak/ | ssh root@192.168.1.124 cat &&& &/tmp/phpcms.tar
root@192.168.1.124's password:&&& log scanned up to (1668412)
[01] Streaming ./ibdata1
&& log scanned up to (1668412)
&& log scanned up to (1668412)
&& log scanned up to (1668412) & #一直在不断扫描,在这期间需输入远程备份主机的密码(现实环境还是通过证书验收)
eg5:增量备份
innobackupex --user=root --password=xxxxxx --database=phpcms --incremental&
--incremental-basedir=/mybak/_21-06-56/ /mybak/add/ &
#增量备份主要是通过lsn的表示进行判断(针对innodb引擎)
[root@mysql _21-06-56]# cat xtrabackup_checkpoints&
backup_type = full-prepared & & & & & #全局备份
from_lsn = 0
to_lsn = 1668412
last_lsn =&1668412 & & & & & & & & & &#结束位置
compact = 0
[root@mysql _21-48-20]# cat xtrabackup_checkpoints
backup_type = incremental & & & & & &#增量备份
from_lsn =&1668412 & & & & & & & & & #&开始位置&和上面&结束位置&一致
to_lsn = 1768416
last_lsn =1768416&
compact = 0
注意:innobackupex 增量备份仅针对InnoDB这类支持事务的引擎,对于MyISAM等引擎,则仍然是全备。
4、数据还原
eg1:完整备份恢复:
第一步:删除需要恢复得数据库
/etc/init.d/mysql stop
mv /usr/local/mysql/data/ /usr/local/mysql/data/
mkdir&/usr/local/mysql/data/ & & & & & & & & & &#恢复得时候,该目录必须为空
第二步:然后将备份文件中的日志应用到备份文件中的数据文件上
innobackupex --user=root --password=xxxxxx&--defaults-file=/f&--apply-log /mybak/_21-06-56/&&
这里的--apply-log指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中:
--defaults-file:数据还原的目标位置
innobackupex --user=root --password=xxxxxx&--defaults-file=/f&--copy-back /mybak/_21-06-56/& &
--copy-back指明是进行数据恢复。数据恢复完成之后,需要修改相关文件的权限mysql数据库才能正常启动。
chown -R mysql:mysql /usr/local/mysql/data/
service mysql start &
& & 注意:如果数据在远程主机上,首先将完整备份复制到本地主机上,如果是tar包,则需要先解包,解包命令为:tar &izxvf dbbackup.tar,这里必须使用-i参数。然后执行恢复操作。
eg2:恢复单个数据库
1、cp /f /mybak/
3、vim /f&
datadir = /usr/local/mysql/data/phpcms & #确保该目录为空
4、然后执行如下操作
innobackupex --user=root --password=xxxxxx&--defaults-file=/f&--apply-log /mybak/_21-06-56/ &
innobackupex --user=root --password=xxxxxx&--defaults-file=/f&--copy-back /mybak/_21-06-56/&
5、将恢复后的数据,copy到指定的目录即可 &
eg3:增量备份恢复:
增量备份恢复的步骤和完整备份恢复的步骤基本一致,只是应用日志的过程稍有不同。增量备份恢复时,是先将所有的增量备份挨个应用到完整备份的数据文件中,然后再将完整备份中的数据恢复到数据库中。命令如下:
应用第一个增量备份
innobackupex --user=root --password=xxxxxx --defaults-file=/f --apply-log /mybak/_21-06-56/ --incremental-dir=/mybak/add/_21-48-20/ &
应用第二个增量备份
innobackupex --user=root --password=xxxxxx --defaults-file=/f --apply-log /mybak/_21-06-56/ --incremental-dir=/mybak/add/_21-48-54/ &
将完整备份中的数据恢复到数据库中
innobackupex --user=root --password=xxxxxx --defaults-file=/f --copy-back /mysqlbackup/full/_21-06-56/ &
其中,--incremental-dir指定要恢复的增量备份的位置
------分隔线----------------------------}

我要回帖

更多关于 xtrabackup远程备份 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信