Xtrabackup使用帮助
1.安装工具
需要在被备份的mysql数据库上安装第三方备份工具percona-xtrabackup,此程序需要的rpm包较多。所以我们需要下载此安装包
percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm
(适用于mysql5.7版本)
下载地址
https://repo.percona.com/yum/release/7/RPMS/x86_64/percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm

2.下载后上传到需要备份的服务器
去对应的目录
[root@localhost mnt]# ll
总用量 7712
drwxr-x--- 5 root root 87 10月 13 21:36 mysqlbak
-rw-r--r-- 1 root root 7893808 10月 12 10:15 percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm
[root@localhost mnt]# yum install -y percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm
出现complete!才算安装完成
验证是否安装完成
输入
innobackupex –version
出现版本号则安装OK
全备
1.安装完成后我们进行数据库备份执行以下命令
(注意mysql数据库的密码要写正确才能进行备份)
参数--backup 为我们需要备份的目录.出现completedOK!备份完成
innobackupex --defaults-file=/etc/my.cnf --user=root --password="***" --socket=/tmp/mysql.sock --backup /mnt/mysqlbak/
可以看到整个备份过程:连接数据库,开始拷贝redo log,拷贝innodb表文件,锁表、拷贝非innodb表文件,停止拷贝redo log,解锁。
2.查看备份的数据
cd /mnt/mysqlbak && ll
这个是第一次全备


其中,mysql/, performance_schema/, sys/ ,school/ 下存放的是数据库文件。
backup-my.cnf,备份命令用到的配置选项信息;
ib_buffer_pool, buffer pool 中的热数据,当设置 innodb_buffer_pool_dump_at_shutdown=1 ,在关闭 MySQL 时,会把内存中的热数据保存在磁盘里 ib_buffer_pool 文件中,位于数据目录下。
ibdata1,备份的共享表空间文件;
xtrabackup_binlog_info,mysql服务器当前正在使用的二进制日志文件及至备份这一刻为止二进制日志事件的位置;
xtrabackup_checkpoints,备份类型(如完全或增量)、备份状态(如是否已经为prepared状态)和LSN(日志序列号)范围信息;
xtrabackup_info,记录备份的基本信息,uuid、备份命令、备份时间、binlog、LSN、以及其他加密压缩等信息。
xtrabackup_logfile,备份的重做日志文件。
3.进入数据库,删除一个测试库

4.删除school库

5.备份数据目录
创建一个数据目录
将/var/lib/mysql/data/ 目录下的所有文件移到备份目录去
6.恢复数据库
恢复数据之前要先关闭数据库
首先执行以下命令,此命令是告诉系统我们要在此备份基础上启动mysql服务
其中/mnt/mysqlbak/2022-10-14_10-59-30就是前面备份的数据库
innobackupex --apply-log --use-memory=500M /mnt/mysqlbak/2022-10-14_10-59-30
直到出现completed OK!
#--apply-log ( /data/pxb/2017-04-24_02-46-11/ 为备份目录,执行之后 xtrabackup_checkpoints 文件中的 backup_type = full-prepared )
7.执行命令恢复数据库
innobackupex --defaults-file=/etc/my.cnf --copy-back /mnt/mysqlbak/2022-10-14_10-59-30
直到出现completed OK!才算恢复完成
恢复后,一定要去数据目录,把所有的文件修改用户为mysql
8.验证数据库是否恢复成功
登录数据库后 show databases;
增量备份
我们刚才已经有了全量备份。现在我们创建一些新的表插入一些数据进行增量备份;
1.登录数据库
创建一个表,插入数据
use school;
create table t1(id int);
insert into t1 values(1);
insert into t1 values(11);
2.备份增量
现在进行第一次增量备份;其中标红的为全量备份的目录,----incremental后面为我们的增量备份的目录
innobackupex --defaults-file=/etc/my.cnf --user=root --password="***" --incremental /mnt/mysqlbak --socket=/tmp/mysql.sock --incremental-basedir=/mnt/mysqlbak/2022-10-14_10-59-30
出现completed ok!就是备份完成

--incremental 表示告诉mysql进行增量备份
--incremental-basedir 告诉MySQL基于哪个位置点进行增量备份
3.再插入一些数据
insert into t1 VALUES (2);
insert into t1 VALUES(22);
4.进行第二次增量备份
红色为我们上次增量备份的目录
innobackupex --defaults-file=/etc/my.cnf --user=root --password="***" --incremental /mnt/mysqlbak --socket=/tmp/mysql.sock --incremental-basedir=/mnt/mysqlbak/2022-10-14_16-02-08
出现completed ok! 为备份完成
现在查看备份目录,已经有一次全备,两次增备的数据

5.删除数据
mysql> drop table t1;
Query OK, 0 rows affected (0.01 sec)
6.关闭mysql
[root@localhost mysql]# service mysql stop
Shutting down MySQL.... SUCCESS!
[root@localhost mysql]# mv data/* bak/ #将数据目录下的文件移走备份目录下去
7.恢复数据
执行以下命令,应用全量备份。目录为全量备份的目录
#准备一个全备
innobackupex --apply-log --redo-only --use-memory=500M /mnt/mysqlbak/2022-10-14_10-59-30
>出现completed ok 为备份完成
---
#将增量1应用到完全备份
innobackupex --apply-log --redo-only --use-memory=500M /mnt/mysqlbak/2022-10-14_10-59-30 --incremental-dir=/mnt/mysqlbak/2022-10-14_16-02-08
#incremental-dir 为增量备份的数据
>出现completed ok 为备份完成
---
#再执行应用第二个增量备份。最后一个增量备份,不需要加redo-only选项
innobackupex --apply-log --use-memory=500M /mnt/mysqlbak/2022-10-14_10-59-30 --incremental-dir=/mnt/mysqlbak/2022-10-14_16-29-56
#最后一个增量备份,不需要加redo-only选项
>出现completed ok 为备份完成
---
#执行全量恢复
innobackupex --defaults-file=/etc/my.cnf --copy-back /mnt/mysqlbak/2022-10-14_10-59-30
>出现completed ok 为备份完成
8.启动mysql
启动之前需要将数据目录的用户调整为mysql

数据恢复成功
参考https://www.cnblogs.com/waynechou/p/xtrabackup_backup.html
Xtrabackup使用帮助的更多相关文章
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- mysqldump和xtrabackup备份原理实现说明
背景: MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现. ...
- xtrabackup 使用说明(续)
背景: 关于物理备份工具xtrabackup的一些说明可以先看之前写过的文章说明:xtrabackup 安装使用.现在xtrabackup版本升级到了2.4.4,相比之前的2.1有了比较大的变化:in ...
- Percona XtraBackup 备份原理说明【转】
本文来自:http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MyS ...
- XtraBackup出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock'
Xtrabackup做备份时遇到下面错误信息MySQL server: Can't connect to local MySQL server through socket '/tmp/mysql.s ...
- MySQL 使用XtraBackup的shell脚本介绍
mysql_backup.sh是关于MySQL的一个使用XtraBackup做备份的shell脚本,实现了简单的完整备份和增量备份.以及邮件发送备份信息等功能.功能目前还比较简单,后续将继续完善和增加 ...
- Xtrabackup 安装使用
一 简介: Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品.它能对Inno ...
- 「转」xtrabackup新版详细说明
声明:本文由我的同事@fiona514编写,是我看过的最用心的中文说明介绍,强烈推荐大家学习使用. Percona Xtrabackup 2.4.1 编译及软件依赖 centos5,6 需要升级cma ...
- 利用xtrabackup备份mysql数据库
利用xtrabackup备份mysql数据库 一.安装1.直接下载二进制文件wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2. ...
- MySQL5.6下使用xtrabackup部分备份恢复到MySQL5.7
现有需求:需要备份MySQL5.6环境下的部分表到MySQL5.7环境下并进行恢复 通过xtrabackup 实现部分备份有三种方式: 参考链接:http://blog.csdn.net/zhu197 ...
随机推荐
- bat-MD文件转CSV文件
目录 1. bat文件里面写死文件名 2. 拖入文件 注意:每个单元格不能出现字符[|.$.;] 1. bat文件里面写死文件名 @echo off && setlocal enabl ...
- 第三课:nodejs npm和vue
1.安装node js 2.node js给windows提供了一个可以直接执行js的环境{node提供翻译} 3.npm是包管理器 a.npm是nodejs的组成部分 b.管 包(package) ...
- 使用.Net对图片进行裁剪、缩放、与加水印
图片的裁剪.缩放.与加水印,是任何系统经常要用到的功能,它们现已集成到IUtility工具中,使用十分简便.(具体代码将在文末给出,支持.NET/.NET Framework/.NET Core) 现 ...
- SpringMVC前置复习以及扩展
SpringMVC ssm:mybatis+Spring+SpringMVC javaSE javaweb 框架 理解的DAO层和Service层 先简单来讲下Dao层,和Service层的概念: S ...
- VS Code中Markdown常用插件
目录 目录 1.Markdown All in One 2.Markdown Preview Enhanced 3.markdownlint 1.Markdown All in One 自动生成目录 ...
- 【设计模式】Java设计模式 - 动态代理
[设计模式]Java设计模式 - 动态代理 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 最近工作比较忙,没啥时间学习 目录 [设计模 ...
- Yarn上运行spark-shell和spark-sql命令行
spark-shell On Yarn spark-shell \ --master yarn-client \ --executor-memory 1G \ --num-executors 10 s ...
- MHA架构的实现方式
转载自:https://www.linuxprobe.com/centos7-mha-mysql5.html 安装mysql5.7,并配置好主从复制 第一:安装mysql57,并关闭防火墙 yum i ...
- Portainer安装,配置自定义镜像仓库拉取镜像
Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...
- 【前端必会】NVM,管理你的node版本
介绍 用nvm管理node,可以随时修改node版本 使用 下载nvm https://github.com/coreybutler/nvm-windows/releases/tag/1.1.9 安装 ...