频道栏目
首页 > 资讯 > 其他 > 正文

percona-xtrabackup物理备份及binlog实例教程

18-07-18        来源:[db:作者]  
收藏   我要投稿

简介:它是开源免费的支持MySQL 数据库热备份的软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份。它不暂停服务创建Innodb热备份;

为mysql做增量备份;在mysql服务器之间做在线表迁移;使创建replication更加容易;备份mysql而不增加服务器的负载。

percona是一家老牌的mysql技术咨询公司。它不仅提供mysql的技术支持、培训、咨询,还发布了mysql的分支版本--percona Server。并围绕

percona Server还发布了一系列的mysql工具。

获得软件包:

官方站点:https://www.percona.com/

选择版本:

PERCONA XtraBackup

安装:

wget http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm //下载yum源

yum -y install percona-release-0.1-3.noarch.rpm //安装yum源

yum -y install percona-xtrabackup-24.x86_64 //安装percona

rpm -ql percona-xtrabackup-24 //查询安装结果,安装文件

一、完全备份流程

mkdir /xtrabackup/full -p //准备备份目录

innobackupex --user=root --password='Qwer@123' /xtrabackup/full //连接数据库,开始备份

ls /xtrabackup/full/ //查看备份目录。数据库,配置文件,日志文件

ls /xtrabackup/full/2018-08-01_00-00-02/

cat /xtrabackup/full/2018-08-01_00-00-18/xtrabackup_binlog_info //二进制日志位置

完全恢复流程

systemctl stop mysqld //停止数据库

rm -rf /var/lib/mysql/*

rm -rf /var/log/mysqld.log

rm -rf /var/log/mysql-slow/slow.log //以上清理环境

innobackupex --apply-log /xtrabackup/full/2018-08-01_00-00-18/ //生成回滚日志,指定备份点

innobackupex --copy-back /xtrabackup/full/2018-08-01_00-00-18/ //恢复文件

ls /var/lib/mysql

chown -R mysql.mysql /var/lib/mysql

systemctl start mysqld

mysql -uroot -p'Qwer@123' //以上登陆验证

二、 增量备份流程

准备工作:create database testdb;

use testdb;

create table test(id int);

insert into test values (1);

select * from test;

完整备份:周一

rm -rf /xtrabackup/* //清理上个例子的内容

date 09010000 //更新时间

innobackupex --user=root --password='Qwer@123' /xtrabackup

ll /xtrabackup/ // 2018-09-01_00-00-04

数据库里的记录是1

增量备份:周二

date 09020000 //更新时间

mysql -uroot -p'Qwer@123' -e 'insert into testdb.test values (2)'

innobackupex --user=root --password='Qwer@123' --incremental /xtrabackup/ --incremental-basedir=/xtrabackup/2018-09-01_00-00-04

ls /xtrabackup/

增量备份:周三

date 09030000

mysql -uroot -p'Qwer@123' -e 'insert into testdb.test values (3)'

innobackupex --user=root --password='Qwer@123' --incremental /xtrabackup/ --incremental-basedir=/xtrabackup/2018-09-02_00-00-26

ls /xtrabackup/

周四。。周五。。周六

增量恢复流程:

systemctl stop mysqld

rm -rf /var/lib/mysql/*

周一:

du -sh /xtrabackup/ //看看备份目录

innobackupex --apply-log --redo-only /xtrabackup/2018-09-01_00-00-04

du -sh /xtrabackup/ //再看看备份目录

周二:

innobackupex --apply-log --redo-only /xtrabackup/2018-09-01_00-00-04 --incremental-dir=/xtrabackup/2018-09-02_00-00-26

恢复:

innobackupex --copy-back /xtrabackup/2018-09-01_00-00-06

chown -R mysql.mysql /var/lib/mysql

systemctl start mysqld

恢复周三:

systemctl stop mysqld

innobackupex --apply-log --redo-only /xtrabackup/2018-09-01_00-00-04 --incremental-dir=/xtrabackup/2018-09-03_00-00-27

innobackupex --copy-back /xtrabackup/2018-09-01_00-00-04

chown -R mysql.mysql /var/lib/mysql

systemctl start mysqld

mysql -uroot -p'Qwer@123' -e 'select * from testdb.test'

三、差异备份流程

跟增量备份流程一样,只是不管周二或周三或周四等,备份的都是周一的

周四: date 10040000

mysql -uroot -p'Qwer@123' -e 'insert into testdb.test2 values(4)'

innobackupex --user=root --password='Qwer@123' --incremental /xtrabackup --incremental-basedir=/xtrabackup/2018-10-01_00-01-12

ll /xtrabackup/

du -sh /xtrabackup/

差异恢复流程:

systemctl stop mysqld

rm -rf /var/lib/mysql/*

innobackupex --apply-log --redo-only /xtrabackup/2018-10-01_00-01-12

innobackupex --apply-log --redo-only /xtrabackup/2018-10-01_00-01-12 --incremental-dir=/xtrabackup/2018-10-04_00-00-29

innobackupex --copy-back /xtrabackup/2018-10-01_00-01-12

chown -R mysql.mysql /var/lib/mysql/

systemctl start mysqld

结束

相关TAG标签
上一篇:Android 实现手绘功能教程
下一篇:介绍一下每一代内存的读写速度
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站