首页 > 数据库 >Mysqlbackup 增量备份恢复示例

Mysqlbackup 增量备份恢复示例

时间:2022-12-06 09:58:43浏览次数:42  
标签:tmp 示例 -- 备份 Mysqlbackup mysql8e backups backup u01

适用范围

5.7+

方案概述

在生产环境中,我们都会对数据库进行备份,我们知道ORACLE 的RMAN 备份很灵活,有全备,增量,归档 等等备份方式! 针对MYSQL来讲,也有一款自己的备份工具mysqlbackup ,它是MySQL官方推出的跨平台mysql数据库物理备份与还原的强大工具。它支持全量备份、增量备份、备份压缩、备份验证、备份加密、流式备份等特性,类似Oracle数据库的RMAN。相比于percona公司的xtrabackup,它的功能更强大,效率更高。
下面我们将演示mysqlbackup 增量备份功能!

实施步骤

1.MYSQL 增量备份

1.1 数据准备

CREATE TABLE `test` (
`name` VARCHAR(50),
`purchased` DATE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY RANGE( YEAR(purchased) ) (
PARTITION p0 VALUES LESS THAN (1990),
PARTITION p1 VALUES LESS THAN (1995),
PARTITION p2 VALUES LESS THAN (2000),
PARTITION p3 VALUES LESS THAN (2005),
PARTITION p4 VALUES LESS THAN (2010),
PARTITION p5 VALUES LESS THAN (2015)
);


INSERT INTO `test` VALUES
('desk organiser', '2003-10-15'),
('alarm clock', '1997-11-05'),
('chair', '2009-03-10');

1.2 全备

rm -rf /tmp/backups/temp/*
mkdir -p /tmp/backups/temp/
/u01/mysql8e/mysql/bin/mysqlbackup --login-path=backup --socket=/u01/mysql8e/data/run/mysql3333.sock
--backup-image=/tmp/backups/fullbackup_`date +%Y%m%d`.mbi --backup-dir=/tmp/backups/temp backup-to-image


1.3第一次增量

# 插入数据
INSERT INTO `test` VALUES
('bookcase', '1989-01-10'),
('exercise bike', '2014-05-09'),
('sofa', '1987-06-05');


#incremental


rm -rf /tmp/backups/temp/*
mkdir /tmp/backups/incre_backup
/u01/mysql8e/mysql/bin/mysqlbackup --login-path=backup --socket=/u01/mysql8e/data/run/mysql3333.sock
--incremental=optimistic --incremental-base=history:last_backup --backup-dir=/tmp/backups/temp/
--backup-image=/tmp/backups/incre_backup/incre_backup_`date +%Y%m%d`.mbi backup-to-image

1.4第二次增量

# 插入数据
INSERT INTO `test` VALUES
('espresso maker', '2011-11-22'),
('aquarium', '1992-08-04');
#incremental 2
rm -rf /tmp/backups/temp/*
mkdir /tmp/backups/incre_backup


/u01/mysql8e/mysql/bin/mysqlbackup --login-path=backup --socket=/u01/mysql8e/data/run/mysql3333.sock
--incremental=optimistic --incremental-base=history:last_backup --backup-dir=/tmp/backups/temp/
--backup-image=/tmp/backups/incre_backup/incre_backup_`date +%Y%m%d`_2.mbi backup-to-image

2.增量恢复

2.1 环境清理



cd /u01/mysql8e/data
mv data data_bak
mv binlogs binlogs_bak


mkdir data
mkdir -p binlogs/innodb
chown -R mysql.mysql /u01/mysql8e/data

2.2 全备恢复

rm -rf /tmp/backups/temp/*
/u01/mysql8e/mysql/bin/mysqlbackup --defaults-file=/u01/mysql8e/data/my3333.cnf
--datadir=/u01/mysql8e/data/data --backup-image=/tmp/backups/fullbackup_`date +%Y%m%d`.mbi
--backup-dir=/tmp/backups/temp copy-back-and-apply-log

2.3 第一次增量恢复

#增量恢复1
rm -rf /tmp/backups/temp/*
/u01/mysql8e/mysql/bin/mysqlbackup --defaults-file=/u01/mysql8e/data/my3333.cnf
--datadir=/u01/mysql8e/data/data --backup-image=/tmp/backups/incre_backup/incre_backup_`date +%Y%m%d`.mbi
--backup-dir=/tmp/backups/temp --incremental copy-back-and-apply-log

 


2.4 第二次增量恢复

rm -rf /tmp/backups/temp/*

/u01/mysql8e/mysql/bin/mysqlbackup --defaults-file=/u01/mysql8e/data/my3333.cnf
--datadir=/u01/mysql8e/data/data --backup-image=/tmp/backups/incre_backup/incre_backup_`date +%Y%m%d`_2.mbi
--backup-dir=/tmp/backups/temp --incremental copy-back-and-apply-log

2.5 启动DB 检查数据

chmod -R 755 /u01/mysql8e/data
chown -R mysql.mysql /u01/mysql8e/data
sh start_mysql.sh


mysql> select * from test ;
+----------------+------------+
| name | purchased |
+----------------+------------+
| bookcase | 1989-01-10 |
| sofa | 1987-06-05 |
| aquarium | 1992-08-04 |
| alarm clock | 1997-11-05 |
| desk organiser | 2003-10-15 |
| chair | 2009-03-10 |
| exercise bike | 2014-05-09 |
| espresso maker | 2011-11-22 |
+----------------+------------+
8 rows in set (0.00 sec)

参考文档

标签:tmp,示例,--,备份,Mysqlbackup,mysql8e,backups,backup,u01
From: https://www.cnblogs.com/cqdba/p/16954324.html

相关文章

  • ASP.NET Core上传文件 示例代码记录
    微软文档https://learn.microsoft.com/zh-cn/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.1 到下载页面如下: 下载代码后到3.x\SampleApp目录,vs打开该......
  • 复制数据库两种方式 第一种 把备份集复制到目标数据库
    https://docs.oracle.com/database/121/BRADV/rcmdupdb.htm#BRADV010在源库生成一个备份,并复制到目标机器。rmantarget/RMAN>backupdatabaseincludecurrentcontro......
  • Etcd 备份与恢复
    14.1Etcd概述etcd是一个构建高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,它是基于GO语言实现。14.2Etcd属性完全复制集群中的每个节......
  • sql创建自动备份数据库
    【背景】  前段时间需要建立一个sql数据库定时自动备份的任务,通过查询以及实践,将自己的经历过程记录在下面。【步骤】一、开启代理,维护计划中建立备份计划二、双......
  • gitlab安装使用,备份和升级
    安装依赖yuminstall-ycurlopenssh-serverpostfixwget 安装gitlab组件 yumlocalinstall-yxxx自动帮忙解决依赖 最新版本1)下载wgethttps://mirrors.tuna.tsing......
  • chrome 浏览器手动同步更新书签数据备份
    现在很多人会使用浏览器自带的同步工具,这样即使换了电脑,对于这个浏览器来说,与没换电脑一样,这就是同步的作用。chrome浏览器,只要有网络,只要登录了账号是自动同步的,所......
  • 批处理执行SQL备份
    建立mybackup.bat,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行-------------------------------------------------------......
  • mysql备份与恢复
    Mysql的备份日志MySQL的日志默认保存位置为/usr/local/mysql/data配置文件:vim/etc/my.cnf[mysqld]#错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默......
  • 第17节-MySQL数据库备份与恢复
    1、备份1.1、备份多张表mysqldump-uroot-prootcjglscorecourse>score_course.sql1.2、备份多个数据库mysqldump-uroot-proot--databasescjglschool>......
  • CountDownLatch详解以及用法示例
    一、什么是countDownlatchCountDownLatch是一个同步工具类,它通过一个计数器来实现的,初始值为线程的数量。每当一个线程完成了自己的任务,计数器的值就相应得减1。当计数器......