xtrabackup增量备份MySQL-5.7操作说明
下载工具
本方法利用xtrabackup二进制包,版本是2.4.26
# 从官网下载二进制包:
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.26/binary/tarball/percona-xtrabackup-2.4.26-Linux-x86_64.glibc2.12.tar.gz
#解压二进制包:
tar -zxvf percona-xtrabackup-2.4.26-Linux-x86_64.glibc2.12.tar.gz
#移动目录:
mv percona-xtrabackup-2.4.26-Linux-x86_64.glibc2.12 /usr/local/xtrabackup
#配置PATH:
vim /etc/profile
#写下如下内容
export PATH=$PATH:/usr/local/xtrabackup/bin
#使其生效
source /etc/profile
#软链接
ln -s /usr/local/xtrabackup/bin/innobackupex /usr/bin/innobackupex
确定文件
使用备份工具xtrabackup,首先该工具要和mysql在同一个服务器上,并且要知道如下内容才可使用备份功能
# 1.配置文件路径:my.cnf 或者 mysqld.cnf
# 7.mysql数据文件夹路径:data
# 2.连接地址:如果是装在宿主机则填 127.0.0.1, 如果是装在容器则填容器网关
# 3.端口:3306 或其它
# 4.超级账号的账户:root 或其它
# 5.超级账号的密码:123456 或其它
# 6.socket文件:mysql.sock 或者 mysqld.sock
开始备份
因为增量备份是基于全量备份上进行的差额备份,所以先要有一次全量备份
1.全量备份
# 参数说明, innobackupex是xtrabackup的符号链接
innobackupex --defaults-file=[mysql配置文件路径] \
--datadir=[mysql数据文件夹路径] \
--host=[mysql连接地址] \
--port=[mysql端口] \
--user=[mysql备份账号名称] \
--password=[mysql备份账号密码] \
--socket=[用于连接mysql的socket文件] \
[指定备份存放路径]
# 操作例子如下, 指定全量备份路径在 /backup/full
innobackupex --defaults-file=/home/database/mysql-5.7/conf \
--datadir='/home/database/mysql-5.7/data' \
--host='127.0.0.1' \
--port=3306 \
--user=root \
--password='abc1234' \
--socket='/home/database/mysql-5.7/data/mysql.sock' \
/backup/full
# 备份好会出现 completed OK! 的字样, 按照例子出现的全量备份文件夹路径如下
/backup/full/2022-08-30_14-20-55
2.增量备份
第一次增量备份是基于第一次全量备份上操作的
# 参数说明
innobackupex --defaults-file=[mysql配置文件路径] \
--datadir=[mysql数据文件夹路径] \
--host=[mysql连接地址] \
--port=[mysql端口] \
--user=[mysql备份账号名称] \
--password=[mysql备份账号密码] \
--socket=[用于连接mysql的socket文件] \
--incremental-basedir=[指定前一次备份的目录] \
--incremental=[指定增量备份存放的文件路径]
# 操作例子如下
innobackupex --defaults-file=/home/database/mysql-5.7/conf \
--datadir='/home/database/mysql-5.7/data' \
--host='127.0.0.1' \
--port=3306 \
--user=root \
--password='abc1234' \
--socket='/home/database/mysql-5.7/data/mysql.sock' \
--incremental-basedir=/backup/full/2022-08-30_14-20-55 \
--incremental /backup/inc
# 备份好会出现 completed OK! 的字样, 按照例子出现的第一次增量备份文件夹路径如下
/backup/inc/2022-08-30_14-29-07
第二次增量备份是基于前一次增量备份上操作的
# 操作例子如下
innobackupex --defaults-file=/home/database/mysql-5.7/conf \
--datadir='/home/database/mysql-5.7/data' \
--host='127.0.0.1' \
--port=3306 \
--user=root \
--password='abc1234' \
--socket='/home/database/mysql-5.7/data/mysql.sock' \
--incremental-basedir=/backup/inc/2022-08-30_14-29-07 \
--incremental /backup/inc
# 备份好会出现 completed OK! 的字样, 按照例子出现的第二次增量备份文件夹路径如下
/backup/inc/2022-08-30_14-34-11
备份文件路径
上述三个操作的文件路径如下:
全量备份:/backup/full/2022-08-30_14-20-55
增量备份1:/backup/inc/2022-08-30_14-29-07
增量备份2:/backup/inc/2022-08-30_14-34-11
开始还原
1.停止数据库
# 不允许mysql进程存在
/etc/init.d/mysqld stop
ps aux |grep "mysqld"
kill -9 xxxx
2.移除mysql原有数据
# 创建一个新文件夹,移走原有data数据
mkdir -p /home/database/mysql-5.7/data_bak
mv /home/database/mysql-5.7/data/* /home/database/mysql-5.7/data_bak/
3.合并增量备份
# 先初始化全量
innobackupex --apply-log --redo-only [全量备份目录]
# 例子如下
innobackupex --apply-log --redo-only /backup/full/2022-08-30_14-20-55
# 初始化第一次增量
innobackupex --apply-log --redo-only [全量备份目录] --incremental-dir=[第一次增量备份目录]
# 例子如下
innobackupex --apply-log --redo-only /backup/full/2022-08-30_14-20-55 --incremental-dir=/backup/inc/2022-08-30_14-29-07/
# 初始化第二次增量, 因为这是最后一次增量, 所以不需要 --redo-only 参数
innobackupex --apply-log [全量备份目录] --incremental-dir=[第二次增量备份目录]
# 例子如下
innobackupex --apply-log /backup/full/2022-08-30_14-20-55 --incremental-dir=/backup/inc/2022-08-30_14-34-11
# 再初始化一次全量, 不需要 --redo-only 参数
innobackupex --apply-log [全量备份目录]
# 例子如下
innobackupex --apply-log /backup/full/2022-08-30_14-20-55
# 执行还原, 复制所有的备份到他们原来的位置
innobackupex --datadir=[mysql数据文件夹路径] --copy-back [执行还原需要的全量备份目录]
# 例子如下
innobackupex --datadir='/home/database/mysql-5.7/data' --copy-back /backup/full/2022-08-30_14-20-55
# 还原好会出现 completed OK! 的字样,此时重启 mysql 即可看到恢复的数据
xtrabackup增量备份MySQL-5.7操作说明的更多相关文章
- xtrabackup增量备份mysql +MHA
http://blog.csdn.net/yanggd1987/article/category/2214421 https://www.centos.bz/2013/09/innobackupex- ...
- mysql xtrabackup增量备份
mysql 增量备份策略 周一全备,其他增量备份,根据业务需要,设定保留日期,如保留一月. 增量备份步骤; 1 创建全备 2 根据全备目录,创建增量备份 3 第二次增量备份根据第一次增量备份目录,依次 ...
- XtraBackup增量备份
mysql:5.6.29xtrabackup:2.2.10mysql数据目录:/data/mysqlmysql备份目录:/data/dbbak/ #确保有足够的磁盘空间 官方文档:https://ww ...
- innobackupex 备份 Xtrabackup 增量备份
Mysql增量备份Xtrabackup中包含两个工具:• xtrabackup - 用于热备份innodb, xtradb表的工具,不能备份其他表(MYISAM表).• i ...
- Xtrabackup 增量备份 和 增量还原
目录 测试数据准备 进行全量备份 第一次增量插入一条数据 进行第一次增量备份 注意 第二次增量插入一条数据 进行第二次增量备份 注意 查看xtrabackup_binlog_info中的binlog位 ...
- xtrabackup 增量备份(InnoDB)
mysql> select * from users; +----+-----------+----------+--------------+ | id | name | password | ...
- 16、xtrabackup 增量备份及恢复
备份命令如下 备份命令如下 全量备份 # innobackupex -p123123 /backup # ls /backup 2017-04-08_13-36-11 增量备份或差量备份 # inn ...
- 完整和增量备份MySQL脚本
本文档采用mysqldump 对数据库进行备份,mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法 ...
- shell脚本 binlog方式增量备份mysql
一.简介 源码地址 日期:2018/4/12 介绍:复制Binlog日志方式的增量备份脚本,并保存固定天数的备份 效果图: 二.使用 适用:centos6+ 语言:中文 注意:使用前先修改脚本中变量 ...
随机推荐
- 《Java笔记——基础语法》
Java笔记--基础语法 一.字符串的拼接: 例如: System.out.println(""+""); 二.换行语句: 例如: Syst ...
- SQL报了一个不常见的错误,让新来的实习生懵了
摘要:前些天一个很简单的SQL报了一个不常见的错误. 本文分享自华为云社区<记一次mysql关联查询格式冲突问题[五月04]>,作者: KevinQ . 问题起源 作为CRUD程序员,最常 ...
- 图片放在div中低下会出现一条缝
页面要达到的样子 中间写的是时候是向div里面放一张图片就行了 <head> <link rel="stylesheet" href="reset.cs ...
- 毕设着急了吧?Python股票数据分析,制作动态柱状图
写在前面的一些屁话: 雪球成立于 2010 年,是北京雪球信息科技有限公司旗下推出的投资者社区.雪球一直致力于为中国投资者提供跨市场(沪深.香港.美国),跨品种(股票.基金.债券等)的数据查询.资讯获 ...
- Microsoft Office Visio Professional 之包图
1 包的概念 1.1 包的定义 包(Package): 是UML用来组织模型元素的模型元素. 包中可以包含类.接口.构件.用例.结点.活动.状态.包等其他模型元素. 包是对软件模型进行分解.组织的有效 ...
- 利用MATLAB仿真节点个数和节点通信半径与网络连通率的关系
一.目的 ①在不同节点个数的情况下,用Matlab拟合出连通率与通信半径的关系曲线. ②在不同节点通信半径的情况下,用Matlab拟合出连通率与节点个数的关系曲线. 二.方法描述 在1x1的单位矩形中 ...
- 看起来是线程池的BUG,但是我认为是源码设计不合理。
你好呀,我是歪歪. 前几天看到一个 JDK 线程池的 BUG,我去了解了一下,摸清楚了它的症结所在之后,我觉得这个 BUG 是属于一种线程池方法设计不合理的地方,而且官方在知道这个 BUG 之后表示: ...
- 项目git commit时卡主不良代码:husky让Git检查代码规范化工作
看完 <前端规范之Git工作流规范(Husky + Commitlint + Lint-staged) https://www.cnblogs.com/Yellow-ice/p/15349873 ...
- NC20583 [SDOI2016]齿轮
题目链接 题目 题目描述 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x : y. 即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为 ...
- Java-类与对象-多态
Java类与对象-多态 多态:类与对象三大特征之一 什么是多态? 同类型的对象,执行同一个行为,会表现出不同的行为特征. 多态的形式 1.父类类型 对象名称 = new 子类构造器(); 2.接口 对 ...