利用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 ...
随机推荐
- [网鼎杯 2018]Comment-1|SQL注入|二次注入
1.打开之后只有一个留言页面,很自然的就想到了二次注入得问题,顺带查看了下源代码信息,并没有什么提示,显示界面如下: 2.那先扫描一下目录,同时随便留言一个测试以下,但是显示需要登录,账户.密码给出了 ...
- P5384[Cnoi2019]雪松果树 (长链剖分)
题面 一棵以 1 1 1 为根的 N N N 个节点的有根树, Q Q Q 次询问,每次问一个点 u u u 的 k k k 级兄弟有多少个(第 k k k 代祖先的第 k k k 代孩子),如果没有 ...
- HTML引用CSS实现自适应背景图
链接图片背景代码 body {background: url('链接') no-repeat center 0;} 颜色代码 body{background:#FFF} 链接图片背景代码2 <b ...
- 荣获 Neo4j Certified Professional
在学习 Neo4j 的过程中,偶然得知官方的认证考试,所以当时就决定通过这项考试,功夫不负有心人,我成功的拿到了Neo4j Certified Professional认证证书 关于认证途径,请访问链 ...
- JVM之HotSpot虚拟机是如何发起内存回收的? 转载
1.背景 在上一节中,我们掌握了垃圾收集的一些算法,也弄明白了分代回收的原理, 那么HotSpot虚拟机是如何发起内存回收的? 2.如何找到GC Roots根节点(枚举根节点) 从可达性分析中GC R ...
- Oracle_FDW 使用介绍
本文以例子的形式介绍 KingbaseES(Postgresql)数据库如何通过 oracle_fdw 扩展访问Oracle数据库.以下例子在PG12.3 与 KingbaseES V8R6进行过实际 ...
- etcd v3版本生产级集群搭建以及实现一键启动脚本
本专栏的上一篇文章写了<长篇图解etcd核心应用场景及编码实战>,本文继续.后续计划章节内容如下: <长篇图解etcd核心应用场景及编码实战> <搭建高可用etcd集群& ...
- logstash接受checkpoint防火墙日志并用ruby分词
直接上logstahs配置文件 input{ syslog{ type => "syslog" port => 514 } } filter { grok { matc ...
- ProxySQL(10):读写分离方法论
文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9318558.html 不同类型的读写分离 数据库中间件最基本的功能就是实现读写分离,ProxySQL当然也支 ...
- MinIO多租户(Multi-tenant)部署指南
官方文档地址:http://docs.minio.org.cn/docs/master/multi-tenant-minio-deployment-guide 单机部署 在单台机器上托管多个租户,为每 ...