(十一)mysql备份之物理备份xtrabackup
(1)备份介绍
(2)下载安装xtrabackup
官网:https://www.percona.com/downloads/XtraBackup/LATEST/
我选择yum安装,centos版本7
wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/\
percona-release-0.1-4.noarch.rpm
rpm -ivH percona-release-0.1-4.noarch.rpm
yum install percona-xtrabackup-24 -y
(3)完全备份与恢复
1)完全备份
- 创建备份账户
mysql> grant reload,process,lock tables,replication client on *.* to backup@localhost identified by 'backup';
mysql> flush privileges;
创建完全备份目录
mkdir /mysql/backup-full -pv
- 完全备份
方式一:innobackupex --user=backup --password=backup --host=127.0.0.1 /mysql/backup-full/
方式二:innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock /mysql/backup-full/
生成目录:/mysql/backup-full/2018-04-24_11-16-17/
2)完全备份恢复
- 停止服务删除数据目录
systemctl stop mysqld
rm -rf /data/mydata/*
- 恢复
innobackupex --apply-log /mysql/backup-full/2018-04-24_11-16-17/
innobackupex --copy-back /mysql/backup-full/2018-04-24_11-16-17/
- 授权与恢复
chown -R mysql.mysql /data/mydata/
systemctl start mysqld
(4)增量备份与恢复
注意:增量备份目录我这里放在/mysql/目录下,完全备份目录放在/mysql/backup-full/目录下
1)完全增量备份
注意:增量备份目录我这里放在/mysql/目录下,完全备份目录放在/mysql/backup-full/目录下
- 准备环境
mysql> create database testdb;
mysql> create table testdb.test(id int);
mysql> insert into testdb.test values(1);
- 完全备份:4月24日
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock /mysql/backup-full/
目录下生成:/mysql/backup-full/2018-04-24_12-15-09/
- 第一次增量备份:4月25日增量备份1
修改时间为4月25日:date -s "20180425"
插入数据:mysql> insert into testdb.test values(2);
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock --incremental /mysql/ --incremental-basedir=完全备份
基准是完全备份:/mysql/backup-full/2018-04-24_12-15-09/
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock --incremental /mysql/ --incremental-basedir=/mysql/backup-full/2018-04-24_12-15-09/
生成增量备份目录:/mysql/2018-04-25_00-01-14/
- 第二次增量备份:4月26日增量备份2
修改时间为4月26日:date -s "20180426"
再次插入数据:mysql> insert into testdb.test values(3);
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock --incremental /mysql/ --incremental-basedir=上一次增量备份
基准是上一次增量备份:/mysql/2018-04-25_00-01-14/
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock --incremental /mysql --incremental-basedir=/mysql/2018-04-25_00-01-14/
生成增量备份目录:/mysql/2018-04-26_00-00-59/
2)增量恢复
- 停止服务删除数据
systemctl stop mysqld
rm -rf /data/mydata/*
- 数据恢复
innobackupex --apply-log --redo-only 完整备份目录
innobackupex --apply-log --redo-only 完整备份目录 --incremental-dir=第一次增量备份目录
innobackupex --apply-log --redo-only 完整备份目录 --incremental-dir=第二次增量备份目录
innobackupex --copy-back 完整备份
innobackupex --apply-log --redo-only /mysql/backup-full/2018-04-24_12-15-09/
innobackupex --apply-log --redo-only /mysql/backup-full/2018-04-24_12-15-09/ --incremental-dir=/mysql/2018-04-25_00-01-14/
innobackupex --apply-log --redo-only /mysql/backup-full/2018-04-24_12-15-09/ --incremental-dir=/mysql/2018-04-26_00-00-59/
innobackupex --copy-back /mysql/backup-full/2018-04-24_12-15-09/
- 目录授权与启动mysql
chown -R mysql.mysql /data/mydata/
systemctl start mysqld
(5)差异备份恢复
注意:差异备份的基准永远根据上一次完全备份
1)差异备份
- 准备环境
mysql> create database testdb;
mysql> create table testdb.test(id int);
mysql> insert into testdb.test values(1);
- 完整备份:20180424(date -s "20180424")
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock /mysql/backup-full/
生成目录:ll /mysql/backup-full/2018-04-24_00-00-08/
- 插入一条数据
mysql> insert into testdb.test values(2);
- 差异备份1:20180425(date -s "20180425")
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock --incremental /mysql/ --incremental-basedir=完整备份目录
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock --incremental /mysql/ --incremental-basedir=/mysql/backup-full/2018-04-24_00-00-08/
生成目录:/mysql/2018-04-25_00-01-51/
- 插入一条数据
mysql> insert into testdb.test values(3);
- 差异备份2:20180426(date -s "20180426")
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock --incremental /mysql/ --incremental-basedir=完整备份目录
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=backup --socket=/tmp/mysql.sock --incremental /mysql/ --incremental-basedir=/mysql/backup-full/2018-04-24_00-00-08/
生成目录:/mysql/2018-04-26_00-00-15/
2)差异备份恢复
- 停止数据和删除数据目录
systemctl stop mysqld
rm -rf /data/mydata/*
- 数据恢复
innobackupex --apply-log --redo-only 完整备份目录
innobackupex --apply-log --redo-only 完整备份目录 --incremental-dir=某个差异备份目录
innobackupex --copy-back 完整备份目录
innobackupex --apply-log --redo-only /mysql/backup-full/2018-04-24_00-00-08/
innobackupex --apply-log --redo-only /mysql/backup-full/2018-04-24_00-00-08/ --incremental-dir=/mysql/2018-04-26_00-00-15/
innobackupex --copy-back /mysql/backup-full/2018-04-24_00-00-08/
- 目录授权与启动数据库
systemctl start mysqld
chown -R mysql.mysql /data/mydata/
systemctl start mysqld
(十一)mysql备份之物理备份xtrabackup的更多相关文章
- Mysql备份与恢复(1)---物理备份
数据库对企业来说最重要的莫过于其中的数据,所以做好数据库的备份是一个不可或缺的工作.数据库及时备份可以帮助我们在数据库出现异常宕机时及时的使用备份数据进行恢复工作,将因为数据库宕机产生的影响降低到最小 ...
- 说明Oracle数据库逻辑备份和物理备份的方式。
说明Oracle数据库逻辑备份和物理备份的方式. 解答:Oracle备份包括逻辑备份和物理备份. 1).逻辑备份 数据库的逻辑备份包含读一个数据库记录集和将记录集写入文件. a.输出(Export)输 ...
- ORACLE数据库的备份分为物理备份和逻辑备份两种。
物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带.可以使用 Oracle 的恢复管理器(Recovery Manager,RMAN)或操作系统命令进行数据库的物 ...
- (4.15)mysql备份还原——物理备份之XtraBackup的下载与安装
关键词:mysql物理备份,XtraBackup,XtraBackup安装,XtraBackup下载 实践链接:https://www.cnblogs.com/gered/p/11147193.htm ...
- (4.16)mysql备份还原——物理备份之XtraBackup实践
关键词:XtraBackup实践,物理备份,xtrabackup备份,innobackupex备份 [1]如何使用? [3]系列:innobackupex --help |more [4]系列:xtr ...
- MYSQL的备份与恢复--物理备份xrabackup
目录 1.数据库完整备份与恢复 (1)环境准备 (2)完全备份恢复流程 2.数据库增量备份与恢复 (1)增量和差异概述 (2)增量备份和恢复 3.数据库差异备份与恢复 4.简单命令进行物理备份 5.实 ...
- mysqldump 逻辑备份和物理备份
逻辑备份 逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现. 工具:mysqldump 特点: 1.可移植性比较强 2.备份和恢复的花费时间长,不适用于大型业务系统 物理 ...
- mysql 开发进阶篇系列 48 物理备份与恢复(xtrabackup 的增量备份与恢复,以及备份总结)
一.增量备份概述 xtrabackup 和innobackupex 二个工具都支持增量备份,这意味着能复制自上次备份以来更改的数据.可以在每个完整备份之间执行许多增量备份,因此,您可以设置一个备份 ...
- MySQL 物理备份工具-xtrabackup
安装 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum -y install perl ...
随机推荐
- 【bzoj3488】[ONTAK2010]Highways DFS序+树上倍增+树状数组
题目描述 一棵n个点的树,给定m条路径,q次询问包含一条路径的给定路径的个数+1 输入 The first line of input contains a single integer N(1< ...
- Ajax缓存问题怎么解决?
项目有时要用一些Ajax的效果,因为比较简单,也就没有去用什么Ajax.net之类的东西,手写代码也就实现了.第二天,有人向我报告错误:说是只有第一次读取的值正常,后面的值都不正常:我调试了一下 ,确 ...
- HttpClient测试类请求端和服务端即可能出现乱码的解决
junit HttpClient 请求端 代码: package com.taotao.httpclient; import java.util.ArrayList; import java.util ...
- namesilo注册域名用来做域名邮箱
重要的话说三遍: (一定不要再国内注册域名,不要买国内的空间) (一定不要再国内注册域名,不要买国内的空间) (一定不要再国内注册域名,不要买国内的空间) 使用的是腾讯企业邮箱,有一个缺点:不支持自定 ...
- gitlab迁移升级
一.迁移步骤 1.首先安装最新版本gitlab(gitlab7.2安装) 2.停止旧版本gitlab服务 3.将旧的项目文件完整导入新的gitlab bundle exec rake gitlab:i ...
- ios 全方位修改工程名
本文针对于彻底修改iOS工程名,不需要另外建工程,会整理的跟新工程完全一样 1. 选中旧工程名,改为新的 然后选择rename 2. 依次选择黄色文件夹,修改名字,千万不要在Xcode外修改!!! 修 ...
- 转:增强学习(二)----- 马尔可夫决策过程MDP
1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是 ...
- BZOJ 3994: [SDOI2015]约数个数和
3994: [SDOI2015]约数个数和 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 898 Solved: 619[Submit][Statu ...
- UOJ#80 二分图最大权匹配 [模板题]
从前一个和谐的班级,有 nlnl 个是男生,有 nrnr 个是女生.编号分别为 1,…,nl1,…,nl 和 1,…,nr1,…,nr. 有若干个这样的条件:第 vv 个男生和第 uu 个女生愿意结为 ...
- 【BZOJ】1579: [Usaco2009 Feb]Revamping Trails 道路升级
[算法]分层图最短路 [题解] 考虑k层一模一样的图,然后每个夹层都在每条边的位置新加从上一层跨越到下一层的边权为0的边,这样至多选择k条边置为0. 然后考虑方便的写法. SPFA 第一次SPFA计算 ...