Xtrabackup安装+(全备+增量+二进制日志)备份,你值得拥有。

本文以简单直接给力为目的。

1、配置网络yum源(保证虚拟机联网)

rm -rf /etc/yum.repos.d/*

wget –P /home/backup/  http://mirrors.163.com/.help/CentOS6-Base-163.repo

mv CentOS6-Base-163.repo  /etc/yum.repos.d/CentOS-Base.repo

cd /etc/yum.repos.d/

mv CentOS6-Base-163.repo  CentOS6-Base.repo

yum clean all

yum makecache

2、安装Xtrabackup工具。

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz

tar zxvf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz -C /usr/src/

cd /usr/src/

cd percona-xtrabackup-2.4.4-Linux-x86_64/

cp bin/* /usr/bin/

cd /usr/src/

wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm

yum install -y perl*

rpm -ivh percona-toolkit-2.2.19-1.noarch.rpm

3、全备+两次增量备+二进制日志备份。

mkdir-pv /opt/mysqlbackup/{full,inc,binlog}

mysql-uroot -p123456

mysql>createdatabase xingjun;

mysql>createtable shengong(id int(10),name varchar(20));

mysql>insertinto shengong values(1,‘yi‘);

mysql>select* from shengong;

mysql>exit;

全备:

innobackupex--user=root --password=123456 /opt/mysqlbackup/full/

再次添加数据:

mysql-uroot -p123456

mysql>usexingjun;

mysql>insertinto shengong values(2,‘er‘);

mysql>select* from shengong;

mysql>exit;

第一次增量备份:

innobackupex--user=root --password=‘123456‘ --incremental /opt/mysqlbackup/inc/--incremental-basedir=/opt/mysqlbackup/full/2017-07-09_10-50-00/

注:2017-07-09_10-50-00此文件为全备。

mysql-uroot -p123456

mysql>usexingjun;

mysql>insertinto shengong values(3,‘san‘);

mysql>select* from shengong;

mysql>exit;

第二次增量备份:

innobackupex--user=root --password=‘123456‘ --incremental /opt/mysqlbackup/inc/--incremental-basedir=/opt/mysqlbackup/inc/2017-07-09_10-50-46/

注:2017-07-09_10-50-46此文件为第一次增量备份。

mysql-uroot -p123456

mysql>usexingjun;

mysql>insertinto shengong values(4,‘si‘);

mysql>select* from shengong;

mysql>exit;

二进制文件备份:

cp/usr/local/mysql/data/mysql-bin.000001 /opt/mysqlbackup/binlog/

4、模拟数据丢失。

servicemysqld stop

rm-rf /usr/local/mysql/data/*

5、当当当、重点来了、恢复数据。

恢复前准备:

innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/

注:2017-07-09_10-50-00此为全备。

innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/--incremental-dir=/opt/mysqlbackup/inc/2017-07-09_10-50-46/

注:2017-07-09_10-50-46此为第一次增量备份。

innobackupex--apply-log --redo-only /opt/mysqlbackup/full/2017-07-09_10-50-00/--incremental-dir=/opt/mysqlbackup/inc/2017-07-09_10-54-58/

注:2017-07-09_10-54-58此为第二次增量备份。

innobackupex--apply-log  /opt/mysqlbackup/full/2017-07-09_10-50-00/

注:2017-07-09_10-50-00此为全备。

开始恢复数据:

innobackupex--copy-back  /opt/mysqlbackup/full/2017-07-09_10-50-00/

注:2017-07-09_10-50-00此为全备。

6、验证。

chown-R mysql:mysql /usr/local/mysql/data/

mysql-uroot -p123456

mysql>usexingjun;

mysql>select* from shengong;

mysql>exit;

经查看数据库中有三条数据,此时全备+两次增量备份大功告成。

7、通过二进制日志恢复最后数据。

mysqlbinlog/usr/local//mysql/data/mysql-bin.000001 > /opt/mysqlbackup/binlog/`date+%F`.sql

查看第二次增量备份的二进制日志信息和position信息:

cat/opt/mysqlbackup/inc/2017-07-09_10-54-58/xtrabackup_info

注:xtrabackup_info其中的一行信息为:binlog_pos = filename‘mysql-bin.000001‘, position ‘1040‘

vi/opt/mysqlbackup/binlog/2017-07-09.sql

从# at ##开始删除,一直删除到# at 1040,包括# at 1040。

注:以下为2017-07-09.sql文件信息。

#at 205

#17070910:55:53 server id 1  end_log_pos 320 CRC32 0x07b5d487  Query thread_id=2exec_time=1380 error_code=0

use`xingjun`;

SETTIMESTAMP=1499612153;

insertinto shengong values(10,‘d‘)

;

然后保存退出。

开始恢复:

mysql-uroot -p123456

mysql>set sql_log_bin=0;

mysql>usexingjun;

mysql>source/opt/mysqlbackup/2017-07-09.sql

mysql>select* from shengong;

mysql>set sql_log_bin=1;

mysql>exit;

经查看数据库中有四条数据,此时全备+两次增量备份+二进制日志备份大功告成。

时间: 2024-08-01 17:41:37

Xtrabackup安装+(全备+增量+二进制日志)备份,你值得拥有。的相关文章

MySQL完全备份脚本:数据+二进制日志+备份日志

一. 脚本须知 1.mysql数据文件和二进制日志文件最好保存在不同的分区或存储设备上 2.备份完成后注意修改数据的权限以防止泄露重要信息,哪些主机哪些用户可以用来恢复 3. 查看导出的2进制日志文件看是否符合逻辑和业务,2进制日志文件只能保证物理上数据即时点还原,却保证不了数据逻辑上正确恢复(比如drop语句) 4.为了保证数据恢复没有问题建议在测试机上做一次数据恢复测试 5.恢复测试OK可以放到crontab定时任务中 1 #!/bin/bash 2 # 3 # Function:实现mys

MySQL 备份和恢复(三)Xtrabackup实现热备:完全备份+增量备份

Percona XtraBackup is the world's only open-source, free MySQL hot backup software that performs non-blocking backups for InnoDB and XtraDB databases. With Percona XtraBackup, you can achieve the following benefits: Backups that complete quickly and

自动清理N天前的二进制日志

这里以自动清理5天前的二进制日志为例(做了主从备份或依赖于二进制日志备份的请慎用): 以root身份登录数据库,执行以下命令: set GLOBAL expire_logs_days = 5; 如果希望永久生效,可修改/etc/my.cnf配置文件,在[mysqld]下增加一行:expire_logs_days = 5.

MySQL备份与恢复常用方法总结(mysqldump/xtrabackup/lvm快照备份/二进制日志及时点恢复)

MySQL备份与恢复常用方法总结 (mysqldump/xtrabackup/lvm快照备份/逻辑备份与恢复/二进制日志及时点恢复) 自言:学习在于总结,把所了解的类似东西放到一起更能加深记忆 一.了解备份相关知识 1)按服务器备份时状态可分为:     热备份:读.写不受影响:     温备份:仅可以执行读操作:     冷备份:离线备份:读.写操作均中止:2)按服务器备份数据集可分为:     物理备份:复制数据文件:     逻辑备份:将数据导出至文本文件中:3)按服务器备份数据量可分为:

xtrabackup单库全备&增量

xtrabackup 介绍: xtrabackup有两个主要的工具:innobackupex和xtrabackup,xtrabackup只能备份InnoDB和XtraDB数据表,innobackupex封装了xtrabackup,可以备份MyISAM数据表. 第一步安装: 1.1.下载xtackbackup 地址:http://www.percona.com/downloads/XtraBackup/ 1.2.安装: tar -zxf percona-xtrabackup-2.0.8-587.t

mysql物理备份工具Xtrabackup安装配置

mysql物理备份工具Xtrabackup安装配置 1????Xtrabackup工具介绍 Xtrabackup是一个对InnoDB做物理数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表. (2)innobackupex是用来备份非Inn

MySQL备份方案-->(利用mysqldump以及binlog二进制日志)

From:http://blog.csdn.net/mchdba/article/details/11575605 随着数据不断增加,而且为了兼容以后的innodb存储引擎, 所以考虑采用mysqldump全备+日志增量备份的策略.使用mysqldump对于MySQL大部分mysql存储引擎比如myisam.innodb都有很好的支持. 方案一:mysqldump全备份+日志增量备份 1, mysqldump备份方案: 周一凌晨3点全备 周二到周日凌晨3点增量备份 2, 备份步骤 (1)    

xtrabackup 安装、备份、还原及错误处理 教程

xtrabackup 是MYSQL的一个备份软件 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 (2)innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同

mysql二进制日志详解及备份恢复、基于mysqldump及lvmsnapshot做备份恢复详解

二进制日志: 时间点恢复 复制 20140411 回顾: 日志文件:6类 一般查询日志:log, general_log, log_output 慢查询日志: 错误日志 二进制日志 中继日志 事务日志 二进制日志:"修改" position:位置 time: 时间 滚动: 1.大小 2.时间 二进制日志的功用: 即时点恢复: 复制: mysql> SHOW MASTER STATUS; mysql> FLUSH LOGS; mysql> SHOW BINARY LOG