xtabakcup
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *,
安装,
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *,
- - - - - 1。编译安装percona-xtrabackup,
yum - y安装cmake gcc gcc-c + + libaio libaio-devel automake autoconf bzr \,
野牛libtool, zlib-devel libgcrypt-devel, libcurl-devel,隐窝*,libgcrypt * \,
python-sphinx openssl,imake libxml2-devel expat-devel,ncurses5-devel ncurses-devle,vim-common时间libgpg-error-devel大敌;;libidn-devel,
,,
注意:2.2.16需要python-sphinx openssl两个依赖包。,,
,,
, 2。安装相关插件,
,,
yum - y安装perl dbi,
yum - y安装perl-DBD-MySQL,
yum - y安装,perl-Time-HiRes,
yum - y安装perl-IO-Socket-SSL,
——3。编译安装组件http://dist.schmorp.de/libev/
,
,,
#焦油xvzf libev-4.22.tar。广州,
# ./configure,
,,
#做,,
,,
# make install,
#焦油xvzf mysql-boost-5.7.15.tar。广州(编译时候用)
——4。安装xtrabackup
焦油xvzf percona-xtrabackup-2.4.4.tar。广州
cd percona-xtrabackup-2.4.4.tar。广州
cmake。-DCMAKE_INSTALL_PREFIX=/usr/地方/mysql \
-DSYSCONFDIR=/etc \
-DWITH_BOOST=/home/mysql-5.7.15/提高
使
make install
——测试结果,
# xtrabackup——版本
xtrabackup 2.4.4基于mysql服务器5.7.13 Linux (x86_64)(修订id: df58cf2)
——4。备份预备工作
权限和连接
xtrabackup需要连接到数据库和datadir操作权限。
xtrabackup或者innobackupex在使用过程中设计到2类用户权限:
1。系统用户,用来调用innobackupex或者xtrabackup
2。数据库用户,数据库内使用的用户
需要的权限:连接到服务是为了执行备份,需要在datadir上有读、写和执行权限。在数据库中需要以下权限:
,重载和锁表权限为了执行刷新表与读锁,.
,复制客户端为了获取二进制日志位置
,创建表空间权限为了导入表,用户表级别的恢复
,超级权限在奴隶环境下备份用来启动和关闭奴隶线程
,
mysql> CREATEUSER 'bkpuser ' @ ' localhost '被's3cret;
mysql>格兰特重载,锁表,复制客户*。* 'bkpuser ' @ ' localhost '
mysql>冲洗特权;
——5。全备份和增量备份
全备份
innobackupex美元——用户=dbus密码=DBUSERPASS/数据/备份
从信息中会发现备份被创建在/数据/备份/2016 - 10 - 25 - _00 - 00 - 09年
内部机制:在备份的时候innobackupex会调用xtrabackup来备份innodb表,并复制所有的表定义,其他引擎的表(MyISAM、合并、CSV、归档)。
增量备份
增量备份呢是为了减少空间使用和备份的时间。
增量备份的实现,依赖于innodb页上面的LSN(日志序列号),每次对数据库的修改都会导致LSN自增。
增量备份会复制指定LSN之后的所有数据页
$ innobackupex——用户=dbus密码=DBUSERPASS -target-dir=/数据/备份/1——incremental-basedir=/数据/备份/2016 - 10 - 25 - _00 - 00 - 09/
1目录下回有增量备份新目录
然后再创建一个增量备份
在增量备份1的基础上再创建一个增量备份,记为增量备份2 .
$ innobackupex——用户=dbus密码=DBUSERPASS -target-dir=/数据/备份/2——incremental-basedir=/数据/备份/1/2016-10-25_10-10-11/
,增量备份替代方法
#可以使用指定-incremental-lsn来代替-incremental-basedir的方法创建增量备份。
# innobackupex——增量/数据/备份——incremental-lsn=1291135
# innobackupex——增量/数据/备份——incremental-lsn=1358967
——6。恢复数据
预备增量备份
1。需要先预备全备,但是只重做已提交事务,不回滚未提交事务,然后应用到全备,也是只重做已提交事务,不回滚未提交事务
2。回滚未提交事务
如果已经回滚了未提交事务,那么就无法再应用增量备份