利用xtrabackup8完全,增量备份及还原MySQL8
利用xtrabackup8完全,增量备份及还原MySQL8
1、环境准备
| 服务器 | 作用 | 数据库版本 | xtrabackup版本 |
|---|---|---|---|
| 10.0.0.8 | 数据备份 | mysql8.0.26 | 8.0.28 |
| 10.0.0.18 | 数据还原 | mysql8.0.26 | 8.0.28 |
2、备份
[root@rocky8 ~]# ls
anaconda-ks.cfg percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm
[root@rocky8 ~]# yum install -y percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm
[root@rocky8 ~]# mkdir /data/backup
[root@rocky8 ~]# systemctl start mysqld.service
[root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/base #完全备份
[root@rocky8 ~]# rz hellodb_innodb.sql
[root@rocky8 ~]# mysql < hellodb_innodb.sql #修改数据
[root@rocky8 ~]# mysql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| hellodb |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
mysql> insert students(name,age)values('wang',20); #修改数据
[root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/inc1 --incremental-basedir=/data/backup/base #第一次增量备份
[root@rocky8 ~]# mysql
mysql> insert students(name,age)values('jack',22); #第二次修改数据
[root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/inc2 --incremental-basedir=/data/backup/inc1 #第二次增量备份
[root@rocky8 ~]# du -sh /data/backup/* #观察目录文件的大小
70M /data/backup/base
4.9M /data/backup/inc1
2.0M /data/backup/inc2
[root@rocky8 ~]# scp -r /data/backup/* root@10.0.0.28:/data/backup/ #拷贝到远程主机
[root@rocky ~]# cd /data/backup #远程主机查看拷贝过来生成的三个文件
[root@rocky backup]# ls
base inc1 inc2
3、还原
# 还原机操作:
[root@rocky ~]# yum install -y percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm
##预准备完成备份,此选项--apply-log-only 阻止回滚未完成的事务
[root@rocky ~]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base
#合并第1次增量备份到完全备份
[root@rocky ~]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base --incremental-dir=/data/backup/inc1
######## 合并第2次增量备份到完全备份:最后一次还原不需要加选项--apply-log-only #########
[root@rocky ~]# xtrabackup --prepare --target-dir=/data/backup/base --incremental-dir=/data/backup/inc2
[root@rocky ~]# systemctl stop mysqld
[root@rocky ~]# cd /data/backup/base/
[root@rocky base]# xtrabackup --copy-back --target-dir=/data/backup/base #执行这一步需要进入到备份目录下,也就是base目录下,要不然会报找不到备份文件 #或者执行下面操作也可以
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@centos ~]#cp -r /backup/base/* /var/lib/mysql #执行了上边命令就不用执行这一步
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@rocky base]# chown -R mysql. /var/lib/mysql
[root@rocky base]# systemctl start mysqld.service
#验证
[root@rocky ~]# mysql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| hellodb |
mysql> use hellodb
mysql> select * from students;
| 26 | wang | 20 | F | NULL | NULL |
| 27 | jack | 22 | F | NULL | NULL |
利用xtrabackup8完全,增量备份及还原MySQL8的更多相关文章
- mysql 利用binlog增量备份,还原实例
mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量 ...
- Mysql性能优化三(分表、增量备份、还原)
接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻 ...
- 通过innobackupex实现对MySQL的增量备份与还原
备份 增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --password=test /backup/ 备注:test是我的MySQL服务的root用户的密码,/b ...
- 瞧一瞧!这儿实现了MongoDB的增量备份与还原(含部署代码)
一 需求描述 我们知道数据是公司的重要资产,业务的系统化.信息化就是数字化.数据高效的存储与查询是系统完善和优化的方向,而数据库的稳定性.可靠性是实现的基础.高可用和RPO(RecoveryPoint ...
- Xtrabackup 全备和还原以及增量备份和还原
目录 MySQL环境介绍 全备和还原 准备备份目录 创建测试数据 全量备份 模拟删除数据 还原数据操作 第一步 备份备份文件 第二步 关闭数据库 第三步 移除数据库的data目录 第四步 恢复前准备 ...
- Mysql大数据备份和增量备份及还原
目前主流的有两个工具可以实现物理热备:ibbackup和xtrabackup ;ibbackup是需要授权价格昂贵,而xtrabackup功能比ibbackup强大而且是开源的 Xtrabackup提 ...
- innobackupex实现对MySQL的增量备份与还原
备份增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password cheng ...
- MySQL 利用xtrabackup进行增量备份详细过程汇总 (转)
Xtrabackup下载.安装以及全量备份请参考:http://blog.itpub.net/26230597/viewspace-1465772/ 1,创建mysql备份用户 mysql -uroo ...
- linux下利用ruby做系统备份与还原
啥都不说了,都在代码里 :) #!/usr/bin/ruby BAK_PATH = "/media/backup.tar.xz" def to_backup exclude_fil ...
随机推荐
- Rust实战系列-基本语法
本文是<Rust in action>学习总结系列的第二部分,更多内容请看已发布文章: 一.Rust实战系列-Rust介绍 " 主要介绍 Rust 的语法.基本类型和数据结构,通 ...
- 面试突击77:Spring 依赖注入有几种?各有什么优缺点?
IoC 和 DI 是 Spring 中最重要的两个概念,其中 IoC(Inversion of Control)为控制反转的思想,而 DI(Dependency Injection)依赖注入为其(Io ...
- (四连测)滑雪场的高度差题解---二分 + 搜索---DD(XYX)的博客
滑雪场的高度差 时间限制: 1 Sec 内存限制: 128 MB 题目描述 滑雪场可以看成M x N的网格状山地(1 <= M,N <= 500),每个网格是一个近似的平面,具有水平高度 ...
- 关于KingbaseES临时文件过大问题
背景 前几天碰到一个问题,现场并发很高,数据量很大(6T),主备库经常出现临时文件过多. 临时文件概念: 当私有进程buffer不够用时,会将buffer内容dump到tempfile供数据库正常sq ...
- swagger访问url
http://172.16.5.130:8080/swagger-ui.html 上面的ip:port 根据实际情况调换 如果设置了server.servlet.context-path 比如: se ...
- 微信小程序语音提示
一. 老规矩, 先上demo图: 然后通过 wx.createInnerAudioContext 创建内部 audio 上下文 InnerAudioContext 对象 就能播放 filename ...
- [Python]-os模块-文件读取
import os 在Python中,os模块用来处理文件路径,比较方便. os读取文件 在读取文件过程中,最常用的几个功能如下: os.listdir() 获取此目录下的所有目录名,并且存为列表.在 ...
- 在Ubuntu上安装Odoo时遇到的问题
这两天开始看<Odoo快速入门与实践 Python开发ERP指南>(刘金亮 2019年5月第1版 机械工业出版社).试着在Ubuntu上安装Odoo,遇到很多问题,通过在网上查找,都已解 ...
- 我眼中的大数据(二)——HDFS
Hadoop的第一个产品是HDFS,可以说分布式文件存储是分布式计算的基础,也可见分布式文件存储的重要性.如果我们将大数据计算比作烹饪,那么数据就是食材,而Hadoop分布式文件系统HDFS就是烧菜的 ...
- 配置 Containerd 在 harbor 私有仓库拉取镜像
官方文档地址:https://github.com/containerd/cri/blob/master/docs/registry.md 严格来说,这个具体可分为两部分 1.在k8s中使用Conta ...