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+ 语言:中文 注意:使用前先修改脚本中变量 ...
随机推荐
- 13.LAMP架构介绍及配置
LAMP架构介绍及配置 LAMP简介与概述 LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境. LAMP是一 ...
- ansible变量引用
1. 在/etc/ansible/hosts默认文件中定义变量 [test] 192.168.163.130 #[test:vars] #key=ansible 或者 192.168.163.130 ...
- Python使用腾讯云-短信服务发送手机短信
目前[腾讯云短信]为客户提供[国内短信].[国内语音]和[海外短信]三大服务,腾讯云短信SDK支持以下操作: 国内短信 国内短信支持操作: • 指定模板单发短信 • 指定模板群发短信 • 拉取短信回执 ...
- 爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
什么是Scrapy 基于Twisted的异步处理框架 纯python实现的爬虫框架 基本结构:5+2框架,5个组件,2个中间件 5个组件: Scrapy Engine:引擎,负责其他部件通信 进行信号 ...
- Conversation Modeling on Reddit Using a Graph-Structured LSTM
publish: Transactions of the Association for Computational Linguistics,2016 tasks: predicting popul ...
- URL网络编程
package com.atguigu.java1; import java.io.FileOutputStream; import java.io.IOException; import java. ...
- Windows对拍系统
有个东西可以帮助对拍,告诉你两个程序的输出哪不一样(但是无法得知错误位置,聊胜于无吧) 一.打开计算机 二.在上方输入$cmd$,摁下回车 三.弹出对话窗如下,输入$fc +$空格,输入两个需要比较 ...
- 机器学习-Kmeans
一.什么是聚类算法? 1.用于发现共同的群体(cluster),比如:邮件聚类.用户聚类.图片边缘. 2.聚类唯一会使用到的信息是:样本与样本之间的相似度(跟距离负相关) 给定N个训练样本(未标记的) ...
- SpringBoot集成文件 - 集成POI之Excel导入导出
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能.本文主要介绍通过Spr ...
- 基于二进制安装Cloudera Manager集群
一.环境准备 参考链接:https://www.cnblogs.com/zhangzhide/p/11108472.html 二.安装jdk(三台主机都要做) 下载jdk安装包并解压:tar xvf ...