MySQL 采用Xtrabackupex进行全库备份过程汇总(一)

2015-04-07 14:10:29 · 作者: · 浏览: 129

1,xtrabackup简介


?


下载地址为:http://www.percona.com/downloads/XtraBackup/


Chorm浏览器下面,在“DOWNLOADPERCONA XTRABACKUP”下面,选择版本号以及os版本,有的浏览器打不开,可能会出现“No files found with current filters.”,那么就需要换个浏览器比如chrome就可以打开了,如下图1.png所示:


MySQL 采用Xtrabackupex进行全库备份过程汇总


?


也可以直接在linux下面是用wget的方式下载:


wget?http://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.9/binary/tarball/percona-xtrabackup-2.2.9-5067-Linux-x86_64.tar.gz?


?


先check下是否已经配置datadir,检查是否有mysql服务,有的话就在my.cnf配置文件里面设置datadir


[root@data01 ~]# more /etc/my.cnf |grepdatadir


[root@data01 ~]#


Ok,看到没有配置datadir,去my.cnf里面配置


vim my.cnf


datadir? ? ? ? = /home/data/mysql/data


再check下:


[root@data01 ~]# more /etc/my.cnf |grepdatadir


datadir? ? ? ? = /home/data/mysql/data


[root@data01 ~]#


[root@data01 ~]#


?


tar -xvfpercona-xtrabackup-2.2.9-5067-Linux-x86_64.tar.gz


?


cp./percona-xtrabackup-2.2.9-Linux-x86_64/bin/innobackupex /usr/bin/innobackupex


cp./percona-xtrabackup-2.2.9-Linux-x86_64/bin/xtrabackup /usr/bin/xtrabackup


cp./percona-xtrabackup-2.2.9-Linux-x86_64/bin/xbcrypt /usr/bin/xbcrypt


cp ./percona-xtrabackup-2.2.9-Linux-x86_64/bin/xbstream/usr/bin/xbstream


PS:新版本已经没有了innobackupex-1.5.1这个小插件了。


?


[root@data01 ~]# innobackupex --help |more


Options:


? ?--apply-log


? ? ? ?Prepare a backup in BACKUP-DIR by applying the transaction log file


? ? ? ?named "xtrabackup_logfile" located in the same directory.Also,


? ? ? ?create new transaction logs. The InnoDB configuration is read from


? ? ? ?the file "backup-my.cnf".


?


? ?--backup-locks


? ? ? ?This option controls if backup locks should be used instead of FLUSH


? ? ? ?TABLES WITH READ LOCK on the backup stage. The option has no effect


? ? ? ?when backup locks are not supported by the server. This option is


? ? ? ?enabled by default, disable with --no-backup-locks.


?


3.5 源码方式安装


参考:http://www.percona.com/doc/percona-xtrabackup/2.2/installation/compiling_xtrabackup.html


?


xtrabackup:支持innodb存储引擎表,xtradb存储引擎表


innobackupex:支持innodb存储引擎表、xtradb存储引擎表、myisam存储引擎表。


?


--defaults-file


同xtrabackup的--defaults-file参数


--apply-log


对xtrabackup的--prepare参数的封装


--copy-back


做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir ;


--remote-host=HOSTNAME


通过ssh将备份数据存储到进程服务器上;


--stream=[tar]


备份文件输出格式, tar时使用tar4ibd , 该文件可在XtarBackup binary文件中获得.如果备份时有指定--stream=tar, 则tar4ibd文件所处目录一定要在$PATH中(因为使用的是tar4ibd去压缩, 在XtraBackup的binary包中可获得该文件)。


在使用参数stream=tar备份的时候,你的xtrabackup_logfile可能会临时放在/tmp目录下,如果你备份的时候并发写入较大的话 xtrabackup_logfile可能会很大(5G+),很可能会撑满你的/tmp目录,可以通过参数--tmpdir指定目录来解决这个问题。


--tmpdir=DIRECTORY


当有指定--remote-host or --stream时, 事务日志临时存储的目录, 默认采用MySQL配置文件中所指定的临时目录tmpdir


--redo-only--apply-log组,


强制备份日志时只redo ,跳过rollback。这在做增量备份时非常必要。


--use-memory=#


该参数在prepare的时候使用,控制prepare时innodb实例使用的内存量,用来取代my.cnf中的buffer_pool_size值,如果你是独立服务器,而且内存足够大的话,为了加快备份恢复的效率,你可以调大--use-memory这个参数值


--throttle=IOS


同xtrabackup的--throttle参数


--sleep=是给ibbackup使用的,指定每备份1M数据,过程停止拷贝多少毫秒,也是为了在备份时尽量减小对正常业务的影响,具体可以查看ibbackup的手册;


--compress[=LEVEL]


对备份数据迚行压缩,仅支持ibbackup,xtrabackup还没有实现;


--include=REGEXP


对 xtrabackup参数--tables的封装,也支持ibbackup。备份包含的库表,例如:--include="test.*",意思是要备份 test库中所有的表。如果需要全备份,则省略这个参数;如果需要备份test库下的2个表:test1和test2,则写成:--include="test.test1|test.test2"。也可以使用通配符,如:--include="test.test*"。


--databases=LIST


列出需要备份的databases,如果没有指定该参数,所有包含MyISAM和InnoDB表的database都会被备份;


--uncompress


解压备份的数据文件,支持ib