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瓶颈,对于高并发和大数据业务的应用场景还是远远不能满足;对于这种情况,有点经验的小伙伴会毫不犹豫的想到集群,搞他好几个节点,负…

您是否也想过让你的电脑百毒不侵呢!

您是否也想过让你的电脑百毒不侵呢<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />我们的防火墙是不是经常有人来***你XXX端口呢?如果关掉相应没有用处的端口不就好了吗? 一般来说&#xff0c;我们采用一些功能强大的反黑软件…

3dsmax子菜单无法选择_3DsMax—用平面图片制作3D模型

最终效果本篇为图文教程&#xff0c;已经将用平面图片制作3D模型视频教程放到3dsmax学习网中&#xff0c;需要看视频教程的请到3DsMax学习网(www.dddmax.cn)教程中观看。图文教程01先在网上找一张简单的素材图片&#xff0c;如图所示。(图片最好背景颜色和图形颜色2种颜色)02用…

python爬取网页数据软件_python爬虫入门10分钟爬取一个网站

一、基础入门1.1什么是爬虫爬虫(spider&#xff0c;又网络爬虫)&#xff0c;是指向网站/网络发起请求&#xff0c;获取资源后分析并提取有用数据的程序。从技术层面来说就是 通过程序模拟浏览器请求站点的行为&#xff0c;把站点返回的HTML代码/JSON数据/二进制数据(图片、视频…

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

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

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

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

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

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

ArcGIS中的投影和坐标转换

ArcGIS中的投影和坐标转换 1 ArcGIS中坐标系统的定义 一般情况下地理数据库&#xff08;如Personal GeoDatabase的 Feature DataSet 、Shape File等&#xff09;在创建时都具有空间参考的属性&#xff0c;空间参考定义了该数据集的地理坐标系统或投影坐标系统&#xff0c;没有…

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

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

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

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

python绘制蟒蛇绕圈圈_Python学习之循环--绕圈圈(蛇形盘)

效果图&#xff1a;注意哦&#xff0c;右边多出来的一点不是程序有问题&#xff0c;是打印的时候我用的\t&#xff0c;但100&#xff0c;三个字符顶格的时候给顶出去的&#xff0c;我太懒了&#xff0c;不想再调输出格式了&#xff0c;就这么凑合看吧实现代码&#xff1a;sum …

内存缓存MemoryCache

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

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

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

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

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

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

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

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

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

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

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