mysql全量与增量备份

binlog日志: 从上一次全量备份到下一次全量备份直接产生的数据。

一、全备和增量备份介绍

1、全量备份:

备份所有数据库或只备份一个数据库,全量备份之后,全量备份之前的binlog日志就没用了,一般生产环境会保留3-7天的binlog日志

2、增量备份:

从上一次全量备份之后,再次产生的新的数据。对于mysql来说,binlog日志就是mysql的增量备份数据
增量备份条件:
(1) 开启 log-bin=mysql-bin
(2) 先执行mysql全备,全量备份的时候刷新binlog日志,保证生成新的binlog日志,这个新的binlog日志就是增量备份。 -F   [--flush-logs]

在这里插入图片描述
二、增量备份恢复必备条件

1、开启mysql log-bin 日志功能

[root@Oldboy ~]# grep log-bin /etc/my.cnf 
log-bin=mysql-bin

2、存在一份全量备份,加上全备之后的binlog增量备份

三、生产环境下模拟数据库增量备份与恢复
顺序:
开启binlog——全量备份——刷新binlog日志(增量备份)——恢复增量备份

1、数据库开启bin-log功能并重启mysql

[root@Oldboy ~]# cat /etc/my.cnf |grep log-bin
log-bin=mysql-bin
[root@Oldboy ~]# vi /etc/init.d/mysqld restart

2、创建数据库和表

[root@Oldboy ~]# mysql -uroot -p123456

mysql> create database oldboy;

mysql> use oldboy;

mysql> CREATE TABLE `student` (   `id` int(4) NOT NULL AUTO_INCREMENT,   `name` char(20) NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

mysql> insert into student(id,name) values(1,'oldboy');

mysql> select * from student;
+----+--------+
| id | name      |
+----+--------+
|  1 | oldboy    |
+----+--------+

3、mysqldump全量备份并刷新binlog日志

#某男孩(如果不做主从的话 --master-data可以不用加)
[root@Oldboy ~]# mysqldump  -uroot  -p'123456' --default-character-set=utf8  -A -B  -F  -x  --events --master-data=2   |gzip >/server/backup/$(date +%F)_all.sql.gz

#网上查的
[root@Oldboy ~]# mysqldump -uroot -p'rocenmysql!niubi' --quick --events --all-databases  -B --flush-logs --delete-master-logs --single-transaction |gzip >/Data/mysql/$(date +%F)_all.sql.gz


-A : --all-databases 备份所有数据库
-B :  还原的时候不用创建数据库了
-F  :  --flush-logs

4、在数据库oldboy中增加两条数据

[root@Oldboy ~]# mysql -uroot -p123456

mysql> use oldboy;

mysql> insert into student(id,name) values(100,'oldboy100');
Query OK, 1 row affected (0.01 sec)

mysql> insert into student(id,name) values(101,'oldboy101');
Query OK, 1 row affected (0.01 sec)

mysql> select * from student;
+-----+-----------+
| id  | name      |
+-----+-----------+
|   1 | oldboy    |
| 100 | oldboy100 |
| 101 | oldboy101 |
+-----+-----------+

5、由于某领导脑残,执行了drop database oldboy

[root@Oldboy ~]# mysql -uroot -p123456
mysql> drop database oldboy;
Query OK, 1 row affected (0.06 sec)

6、恢复之前删除的数据(最好让数据库停止写入)

(0) 拒绝任何人访问mysql
[root@Oldboy backup]# iptables -A INPUT -p tcp  --dport 3306 -j DROP 

(1) 查看全量备份之后产生的新的binlog日志
[root@Oldboy ~]# cd /server/backup/
[root@Oldboy backup]#  gzip -d 2016-05-24_all.sql.gz
通过vim,找到这一行 "CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=107;"
mysql-bin.000005:是全量备份之后产生的增量备份日志

(2) 查看当前binlog
[root@Oldboy data]# ll mysql-bin.*
-rw-rw---- 1 mysql mysql     150 5月  24 03:38 mysql-bin.000001
-rw-rw---- 1 mysql mysql     663 5月  24 04:11 mysql-bin.000002
-rw-rw---- 1 mysql mysql     150 5月  24 04:13 mysql-bin.000003
-rw-rw---- 1 mysql mysql     599 5月  24 05:11 mysql-bin.000004
-rw-rw---- 1 mysql mysql     578 5月  24 05:14 mysql-bin.000005
-rw-rw---- 1 mysql mysql     114 5月  24 05:14 mysql-bin.index


(3) 刷新当前binlog
[root@Oldboy ~]# mysql -uroot -p123456 -e "flush logs;"

(4) 再次查看,确定恢复的目标范围是mysql-bin.000005
[root@Oldboy data]# ll mysql-bin.*
-rw-rw---- 1 mysql mysql     150 5月  24 03:38 mysql-bin.000001
-rw-rw---- 1 mysql mysql     663 5月  24 04:11 mysql-bin.000002
-rw-rw---- 1 mysql mysql     150 5月  24 04:13 mysql-bin.000003
-rw-rw---- 1 mysql mysql     599 5月  24 05:11 mysql-bin.000004
-rw-rw---- 1 mysql mysql     578 5月  24 05:14 mysql-bin.000005
-rw-rw---- 1 mysql mysql     324 5月  24 05:24 mysql-bin.000006
-rw-rw---- 1 mysql mysql     133 5月  24 05:24 mysql-bin.index

(5) 将mysql-bin.000005   复制到 /server/backup
[root@Oldboy data]# cp -a mysql-bin.000005    /server/backup/

(6) 利用 mysqlbinlog  将 mysql-bin.000005   导出为  .sql文件
[root@Oldboy backup]# mysqlbinlog mysql-bin.000005 > mysql-bin_000005.sql

(7) 进入 binlog中删除  drop database  oldboy
[root@Oldboy backup]# cat mysql-bin_000005.sql 
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
drop database oldboy
/*!*/;
# at 192
#160524  5:15:19 server id 1  end_log_pos 281   Query   thread_id=11exec_time=0      error_code=0
SET TIMESTAMP=1464038119/*!*/;
create database oldgirl              删除这行,并保存
/*!*/;
# at 281
#160524  5:24:30 server id 1  end_log_pos 324   Rotate to mysql-bin.000007  pos: 4
DELIMITER ;

(8) 恢复最近一次的全量备份
[root@Oldboy ~]# cd /server/backup/
[root@Oldboy backup]# mysql -uroot -p123456 < 2016-05-24_all.sql

(9) 恢复增量备份(将全备之后的增量备份到出问题之间的binlog全部恢复,有几个恢复几个)
[root@Oldboy backup]# mysql -uroot -p123456 < mysql-bin_000005.sql 

(10) 也可以按时间恢复,vim进入binlog.sql中,只保留某个时间段的数据即可
主从情况下,只恢复主就可以了,从会自动同步主的binlog的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/912599.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web前端开发--HTML语言

文章目录 前言1.介绍2.组成3.基本框架4.常见标签4.1双标签4.1.1.标题标签4.2.2段落标签4.1.3文本格式化标签4.1.4超链接标签4.1.5视频标签4.1.6 音频标签 4.2单标签4.2.1换行标签和水平线标签4.2.2 图像标签 5.表单控件结语 前言 生活中处处都有网站&#xff0c;无论你是学习爬…

存算一体化与边缘计算:重新定义智能计算的未来

随着数据量爆炸式增长和智能化应用的普及&#xff0c;计算与存储的高效整合逐渐成为科技行业关注的重点。数据存储和处理需求的快速增长推动了对计算架构的重新设计&#xff0c;“存算一体化”技术应运而生。同时&#xff0c;随着物联网、5G网络、人工智能&#xff08;AI&#…

Kubernetes-ArgoCD篇-03-部署

1、从 Git 存储库创建应用程序 包含留言簿应用程序的示例存储库可在 https://github.com/argoproj/argocd-example-apps.git 上找到&#xff0c;以演示 Argo CD 的工作原理。 1.1 argocd server port-forward 我们这里通过port-forward 访问 Argo CD&#xff1a; kubectl p…

6层板设计常用知识笔记

1. 6层板设计叠层方案 &#xff08;1&#xff09;叠层方案优选以下方式 &#xff08;2&#xff09;过孔做固定孔时 plated作为固定孔时需要去掉勾选&#xff0c;焊盘去金属化。 &#xff08;3&#xff09;屏蔽罩&#xff1a;电源、主控存储、wifi需要加屏蔽罩&#xff0c;屏蔽…

【mongodb】数据库的安装及连接初始化简明手册

NoSQL(NoSQL Not Only SQL )&#xff0c;意即"不仅仅是SQL"。 在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统&#xff08;RDBMS&#xff09;来处理。 通过应用实践证明&#xff0c;关系模型是非常适合于客户服务器…

Unity跨平台基本原理

目录 前言 ​编辑 Mono Unity和Mono的关系 Unity跨平台必备概念 Mono利用 Mono主要构成部分 基于Mono跨平台的优缺点 IL2CPP Mono和IL2CPP的区别 Mono IL2CPP Mono和IL2CPP的使用建议 安装IL2CPP IL2CPP打包存在的问题 类型裁剪 泛型问题 前言 Unity跨平台的基…

【go从零单排】接口(interface)和多态(Polymorphism)

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 在Go语言中&#xff0c;interface 是一种重要的类型&#xff0c;用于定义一组方法…

Science Robotics 综述揭示演化研究新范式,从机器人复活远古生物!

在地球46亿年的漫长历史长河中&#xff0c;生命的演化过程充满着未解之谜。如何从零散的化石证据中还原古生物的真实面貌&#xff1f;如何理解关键演化节点的具体过程&#xff1f;10月23日&#xff0c;Science Robotics发表重磅综述&#xff0c;首次系统性提出"古生物启发…

WPS文档中的“等线”如何删除

如何删除“等线”占用的行如何删除表格之间的空行WPS文档中的“等线”是什么如果删除脚注文本占用的行 如下这种&#xff0c;在文档中添加了表格和脚注&#xff0c;发现上下表格之间有多行空行&#xff0c;鼠标选中&#xff0c;显示是“等线”&#xff0c;那么如何去除等线占用…

开源办公软件OnlyOffice的使用教程以及8.2版本的更新功能测评

OnlyOffice 8.2 是一款功能全面的在线办公套件&#xff0c;在实际使用中&#xff0c;PDF协作编辑功能给我留下了深刻印象&#xff0c;让团队成员能够轻松共同编辑PDF并签署文档。这些改进不仅增强了协作效率&#xff0c;也让办公体验更加流畅和高效。如果你的团队需要一个集协作…

C/C++/PYTHON 改变 console terminal cmd 字体输出颜色

C代码 #include <stdio.h>// 定义一些常用颜色的转义序列 #define RED "\x1b[31m" #define GREEN "\x1b[32m" #define YELLOW "\x1b[33m" #define BLUE "\x1b[34m" #define RESET "\x1b[0m"int main() {// 在控制台输…

数据分析反馈:提升决策质量的关键指南

内容概要 在当今快节奏的商业环境中&#xff0c;数据分析与反馈已成为提升决策质量的重要工具。数据分析不仅能为企业提供全面的市场洞察&#xff0c;还能帮助管理层深入了解客户需求与行为模式。掌握数据收集的有效策略和工具&#xff0c;企业能够确保获得准确且相关的信息&a…

Unity性能优化 -- 性能分析工具

Stats窗口Profiler窗口Memory Profiler其他性能分析工具&#xff08;Physica Debugger 窗口&#xff0c;Import Activity 窗口&#xff0c;Code Coverage 窗口&#xff0c;Profile Analyzer 窗口&#xff0c;IMGUI Debugger 窗口&#xff09; Stats 统级数据窗口 game窗口 可…

ELK-ELK基本概念_ElasticSearch的配置

文章目录 一、什么是ELK&#xff1f;有什么用&#xff1f;ELK是什么&#xff1f;ElasticsearchLogstashKibana ELK的作用要注意ELK的三个组件的版本需要相互兼容版本兼容性的一般原则版本兼容性对照表ELK Stack 6.x 系列ELK Stack 7.x 系列 版本升级和兼容性注意事项注意事项2 …

【网络安全 | 并发问题】Nginx重试机制与幂等性问题分析

未经许可,不得转载。 文章目录 业务背景Nginx的错误重试机制proxy_next_upstream指令配置重试500状态码非幂等请求的重试问题幂等性和非幂等性请求non_idempotent选项的使用解决方案业务背景 在现代互联网应用中,高可用性(HA)是确保系统稳定性的关键要求之一。为了应对服务…

spring—boot(整合redis)

整合redis 第一步导入数据源 <!--redis--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> RedisConfig&#xff08;默认有RedisTemplate&#…

关于倍速播放百度网盘视频

免责声明&#xff1a; 下述内容均为自学探索&#xff0c;仅供学习交流&#xff01;&#xff01;&#xff01; 【侵权删】 正文&#xff1a; 倍速播放百度网盘视频&#xff0c;检索到的通常有&#xff1a;1、使用夸克浏览器倍速播放&#xff1b;2、使用ipad 快捷命令。 推荐…

对HFSS中的结构使用Icepak进行热仿真-以微带电路为例-含工程

对HFSS中的结构使用Icepak进行热仿真-以微带电路为例-含工程 在HFSS中依据厂家模型自己进行连接器仿真—以SMP接口为例中分析了基于现有的结构在HFSS中对连接器进行3D建模&#xff0c;下面基于这个模型简要介绍如何在HFSS中进行热仿真。 下载链接&#xff1a;对HFSS中的结构使…

如何处理模型的过拟合和欠拟合问题

好久没有写人工智能这块的东西了&#xff0c;今天正好在家休息&#xff0c;给大家分享一下最近在训练时遇到的过拟合和欠拟合的问题&#xff0c;经过仔细的思考&#xff0c;总结如下&#xff1a; 在处理模型的过拟合和欠拟合问题时&#xff0c;我们需要根据具体情况采取不同的…

【EFK】Linux集群部署Elasticsearch最新版本8.x

【EFK】Linux集群部署Elasticsearch最新版本8.x 摘要环境准备环境信息系统初始化启动先决条件 下载&安装修改elasticsearch.yml控制台启动Linux服务启动访问验证查看集群信息查看es健康状态查看集群节点查询集群状态 生成service token验证service tokenIK分词器下载 摘要 …