下载地址: https://pan.baidu.com/s/1qYvRDFY 热备份工具,备份不锁表。 备份时只备份表中记录,不备份表结构 增量备份时,需要先完全备份,在增量备份 yum install -y percona-xtrabackup-2.1.6-702.rhel6.x86_64.rpm [root@localhost opt]# rpm -ql percona-xtrabackup /usr/bin/innobackupex #支持myisam引擎锁表备份 /usr/bin/innobackupex-1.5.1 #支持myisam引擎锁表备份 /usr/bin/xbcrypt /usr/bin/xbstream /usr/bin/xtrabackup #5.1版本用这个 /usr/bin/xtrabackup_55 #给5.5版本用的备份脚本 /usr/bin/xtrabackup_56 #给5.6版本及以上的版本用的 /usr/share/doc/percona-xtrabackup-2.1.6 /usr/share/doc/percona-xtrabackup-2.1.6/COPYING /usr/bin/xtrabackup_56 的用法 --backup 备份数据 --target-dir=目录名 备份文件存储的位置(就是你把备份的数据存放哪里) --datadir=/usr/local/mysql/ 数据库目录 --prepare 准备恢复数据 --incremental-basedir=目录名 增量备份时,指定参考的完整备份路径(增量备份的时候用的参数) --incrementar-dir=目录名 准备恢复目录时,指定增量备份的据经(把增量备份的数据还原的时候用的参数) 例题: 备份数据(在使用增量备份前,首先要来一次完整备份) 第一次完整备份(备份到/mydata下) [root@localhostopt]#xtrabackup_56 --backup \ --target-dir=/mydata/ \ --datadir=/usr/local/mysql/data 第一次增量备份(把增量备份的数据备份到/new1) [root@localhostopt]# xtrabackup_56 --backup \ --target-dir=/new1/ \ --datadir=/usr/local/mysql/data \ --incremental-basedir=/mydata/ 第二次增量备份把增量备份的数据备份到/new2) [root@localhost opt]# xtrabackup_56 --backup --target-dir=/new2/ --datadir=/usr/local/mysql/data --incremental --basedir/new1/ 数据恢复(我这里的库表操作是db5.liuwenzhi。希望下面出现了db5看得懂) 先恢复第一次完整备份的数据 模拟数据丢失 先备份一下: [root@localhost opt]#xtrabackup_56 --prepare --datadir=/usr/local/mysql/data/ --target-dir=/alldir/</p><p> mysql> use db5; mysql> delete from liuwenzhi; 拷贝ibd文件到/usr/local/mysql/data/db5/覆盖 [root@localhost opt]# cp /alldir/db5/liuwenzhi.ibd /usr/local/mysql/data/db5</p><p> 重启服务 [root@localhost opt]# /etc/init.d/mysqld restart 查看恢复内容(恢复到第一次完整备份的那里) 查看lsn的位置量 [root@localhost opt]# cat /alldir/xtrabackup_checkpoints backup_type = full-prepared from_lsn = 0 to_lsn = 1997713 last_lsn = 1997713 compact = 0 mysql> select * from liuwenzhi; 再恢复第二次增量备份的数据 [root@localhost opt]# xtrabackup_56 --prepare --datadir=/usr/local/mysql/data/ --target-dir=/alldir/ --incremental-dir=/new1/ 在拷贝ibd文件到/usr/local/mysql/data/db5/覆盖 [root@localhost opt]# select * from liuwenzhi; 查看lsn的位置量已更改 [root@localhost opt]# cat /alldir/xtrabackup_checkpoints backup_type = full-prepared from_lsn = 0 to_lsn = 2000761 last_lsn = 200076 compact = 0 第二次恢复同第一次操作一样 每次增量还原后查看cat /alldir/xtrabackup_checkpoints的lsn位置变量是不是变了 最后注意的地方就是: 在还原的时候是要按你每次备份的顺序还原。 如:增量备份1,2,3次。 还原的时候还原第三次的时候,一定是要第二次也要还原的。 这个备份就是靠lsn位的。lsn位有点像mysql的binlog日志所记录的信息差不多,它也有一个标记的位置。 也可以使用binlog日志备份,时间,或者位置变量这两种方法吧。这个不太清除。</p>
Xtrabackup热备份mysql工具使用
原创
©著作权归作者所有:来自51CTO博客作者出VU时代的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
MySQL备份工具XtraBackup的使用
XtraBackup的使用方法
xtrabackup -
xtrabackup备份工具使用详解
xtrabackup备份工具使用详解
xtrabackup备份工具使用详解