时间:2021-07-01 10:21:17 帮助过:10人阅读
MySQL 采用Xtrabackupex进行全库备份过程汇总
1,xtrabackup简介
MySQL管理之使用XtraBackup进行热备
MySQL开源备份工具Xtrabackup备份部署
MySQL Xtrabackup备份和恢复
用XtraBackup实现MySQL的主从复制快速部署【主不锁表】
安装和使用 Percona 推出的 Xtrabackup 备份 MySQL
2,xtrabackup下载
下载地址为:
Chorm浏览器下面,在“DOWNLOADPERCONA XTRABACKUP”下面,选择版本号以及os版本,有的浏览器打不开,可能会出现“No files found with current filters.”,那么就需要换个浏览器比如chrome就可以打开了,如下图1.png所示:
也可以直接在linux下面是用wget的方式下载:
wget
3,xtrabackup安装 3.1配置datadir
先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 ~]#
3.2解压
tar -xvfpercona-xtrabackup-2.2.9-5067-Linux-x86_64.tar.gz
3.3 copy到/usr/bin/
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这个小插件了。
3.4 查看xtrabackup是否可用
[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 源码方式安装
参考:
4,二大工具组件
xtrabackup:支持innodb存储引擎表,xtradb存储引擎表
innobackupex:支持innodb存储引擎表、xtradb存储引擎表、myisam存储引擎表。
5,,一些重要参数
--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