mysqlbinlog工具_mysqlbinlog命令详解 Part 1-实验环境准备

前面的一些章节我们对mysqldump常用命令进行了讲解

这个专题的内容为mysqlbinlog命令的详解

mysqlbinlog是mySQL中用来处理binlog的工具

1. MySQL二进制日志介绍

服务器的binlog包含一些event

这些event描述了数据库内容的状态,包含了数据修改,服务器重启等,以二进制的格式写入日志文件

这里和redo log相似,不过redo是存储引擎层面的,而binlog是数据库层面的

即一个MySQL不一定有redo日志 但一定有binlog(开启)

可以使用mysqlbinlog工具来将二进制转换为文本格式

同理我们也可以使用mysqlbinlog来处理relay log

2. 实验环境准备

此次实验的环境如下

  • MySQL 5.7.25
  • Redhat 6.10
  • binlog模式采用row模式

这里我们构造一些DML语句来演示mysqlbinlog如何工作的

2.1 重置binlog

我们使用如下命令重置binlog,方便我们观察

SQL>reset master;SQL>show master status;

d55ed98d3a55fa93a78c1d1c6a200d5b.png

2.2 建立表

create database test;
use testCREATE TABLE `innodb_table` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) NOT NULL,`age` tinyint(3) NOT NULL,PRIMARY KEY (`id`)) ENGINE=innodb DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

2.3 单条插入语句

INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'insert1', CEIL(RAND() * 110) );
INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'insert2', CEIL(RAND() * 110) );
INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'insert3', CEIL(RAND() * 110) );

2.4 单条更新语句

update innodb_table set name='update1' where id=1;
update innodb_table set name='update2' where id=2;
update innodb_table set name='update3'  where id=3;

2.5 事务多条语句

START TRANSACTION;
INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'trans_insert1', CEIL(RAND() * 110) );
INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'trans_insert2',CEIL(RAND() * 110) );
INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'trans_insert3', CEIL(RAND() * 110) );
update innodb_table set name='commit_update1'  where id=1;
update innodb_table set name='commit_update2'  where id=2;
update innodb_table set name='commit_update3'  where id=3;
COMMIT;

2.6 事务回滚语句

START TRANSACTION;
INSERT INTO `innodb_table`(`name`,`age`) VALUES( 'rooback_insert1', CEIL(RAND() * 110) );
update innodb_table set name='rollback_update1'  where id=1;
ROLLBACK;

2.6 event更新

event 更新数据请移步下面链接

mysqldump命令详解 Part 1

2.7 procedure更新

procedure更新移步下面链接

MySQL测试数据的构造

好了,环境准备已经好了,大家按照上面的步骤执行

下届开始讲解mysqlbinlog的命令

3d542b193eef0ce324b0f19ab69446af.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

是学习Java还是Python?一张图告诉你!

Java 和 Python 一直都是两种很火很强大的编程语言,对于刚开始起步学习编程的同学来说,会迷惑且最经常问的问题是,我该学 Java 还是 Python,是不是 Python 容易学,或是应该先学什么编程语言等等这样的问题。作为一名 J…

Java游戏吉他英雄_《吉他英雄:现场》《摇滚乐队4》横向对比:各有所长!

《吉他英雄:现场》《摇滚乐队4》横向对比:各有所长!2015-11-29 10:29:07来源:界面编辑:评论(0)作为摇滚游戏界两大支柱,最近回归的《吉他英雄:现场(Guitar Hero Live)》(以下简称GHL)和《摇滚乐…

_云计算学习路线图素材课件,Linux中软件安装的方式

很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分享Linux中…

Redis集群搭建很easy

前言 哨兵模式虽然让读写分离更加高可用,但单台服务器由于本身的内存和CPU瓶颈,对于高并发和大数据业务的应用场景还是远远不能满足;对于这种情况,有点经验的小伙伴会毫不犹豫的想到集群,搞他好几个节点,负…

国庆中秋活动——读完这两套书,宝宝就变小小物理学家了!

通知!通知!通知!!!玩酷屋十一黄金优惠限时限量秒杀活动,能抢到算你厉害:1、活动期间 2017/10/02 22:30 ——2017/10/05 22:302、【宝宝的物理学】第一辑 原价:189元,秒…

java的正则表达式 CPU_小心踩雷!一个小小的正则表达式竟把CPU拖垮......

原标题:小心踩雷!一个小小的正则表达式竟把CPU拖垮......“前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%。通过 Java 自带的线程 Dump 工具,我们导出了出问题…

欲善其事,先利其器 | IDCF第6期DevOps案例研究回顾(附视频)

2021年,会有哪些“意想不到”在等待我们?2021年,会有哪些“变与不变”在等待我们?这些,都未可知。借假修真,唯一可知的是过去有哪些值得我们借鉴与学习,并帮助我们更好前进的经验。2021年开端&a…

电脑任务管理器快捷键_电脑知识小常识

0、计算机专业的学生的电脑常识未必有你多,电脑坏了找他们没用。1、重启。不管啥问题,上来就是重启。2、找一个学过计算机的来重启。3、还不行就让那个学过计算机的给你重装个系统。4、再不行就换个电脑吧。5、妹子可以忽视以上规则,直接找计…

大数据迁徙图:逃离北上广,他们竟然去了这里!

“做出这个决定,我们考虑了很久。”不久前,高铭离开了工作生活12年的北京,举家回到故乡重庆。“重庆房价比北京便宜得多,孩子上学的问题也好解决。”高铭的经历并非个案。最近几年,“逃离北上广”成为经久不衰的热门话…

内存缓存MemoryCache

内存缓存MemoryCache实现了ICache接口,Redis同样实现了ICache接口,两者在缓存操作上达到了高度抽象统一。应用设计时一律使用ICache接口,开发环境装配为MemoryCache,生产环境根据分布式需要可以装配为Redis。如果应用系统没有分布…

quicktype游戏java程序_使用QuickType工具从json自动生成类型声明代码

一、QuickType 工具功能简介QuickType 是一款可以根据 json 文本生成指定语言(如 Type Script,C,,Java,C#,Go 等)类型声明代码的工具。例如我们在写接口调用处理收到响应数据的逻辑时一般分为如下两步: 1.根据接口返回…

endpointimpl怎么填参数_这是一篇VLOOKUP函数家族主要用法的合集,XLOOKUP来了!真香!但是,没有office365吃不着怎么办?...

最近这几个月,XLOOKUP震惊了Excel界,传言三头六臂无所不能,一个人把LOOKUP全家兄弟姐妹的活都给抢了。最开始我是不以为意的,但是相关的信息越来越多,我终于忍不住,今天去买了一套office365,发现…

1个月教你学会用Python实现机器学习

什么是机器学习?在最简单的层面上,机器学习只是优化数学方程式的过程。有几种不同的机器学习,都有不同的目的。机器学习中最流行的两种形式是监督学习和无监督的学习。 我们将在下面介绍他们的工作原理:. 监督学习:监督…

ASP.NET Core 5 在IIS,Nginx,Caddy下的性能测试

点击上方蓝字关注“汪宇杰博客”导语ASP.NET Core 从 2.2 版本起,在 IIS 下可以使用 InProcess 模式提高性能,国外大神 Rick Strahl 对此有一片详细的文章。3年过去了,现在 ASP.NET Core 已经到了 5.0 版本,不同服务器之间的性能有…

sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句

MYSQL本资料为产品岗位作为日常工作参考,语言口语化At 2019/4/26 By David.Yang如何使用限定条件来进行数据过滤?在前问当中,我们已经学会到了SELECT查询,在过程当中多次接触了WHERE这个关键词,打过预防针应该知道他就…

win10必须禁用的服务_【亲测】Win10系统如何彻底禁止自动更新 亲测有效的Win10关闭自动更新方法...

昨天有人称Win10系统更新依然无法彻底关闭,今天再来补充一下,肯定可以!不少用户反映自己的Win10系统更新无法彻底关闭,网上提供的关闭Win10更新的教程,关闭之后还是会自动更新Win10系统,而今天装机之家分享…

国庆中秋活动——超强AR/3D地球仪!带你领略世界风光!我们未必能环游世界,但都该有个地球仪

通知!通知!通知!!! 玩酷屋十一黄金优惠限时限量秒杀活动,能抢到算你厉害: 1、活动期间 2017/10/03 22:30 ——2017/10/06 22:30 2、【北斗AR地球仪】原价 299元,秒杀活动价 269元…

flask mysql项目模板渲染_21. Flask 模板 - 宏、继承、包含

宏的概念类似于python中的函数,宏的作用就是在模板中重复利用代码,避免代码冗余。Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复。简单定…

如何在 ASP.Net Core 中使用 MiniProfiler

web应用程序的性能相信是大家普遍关心的一个问题,也相信大家有很多工具可用来分析应用程序的性能并能够找到其中的瓶颈,MiniProfiler 就是这个领域中的一款产品,它是一款简单的,功能强大的web应用分析工具,MiniProfile…

java 计时_Breitling(百年灵)世界时间终极计时腕表

所有热爱旅行的冒险家可以尽情期待,一款适合所有手腕的全新尺寸“旅行计时腕表”将在今年巴塞尔表展上华彩亮相。百年灵世界时间终极计时腕表(Chronomat 44 GMT),适合腕间的完美尺寸,便捷的三时区时间显示,超凡的百年灵自产机芯&a…