前面的一些章节我们对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;

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的命令

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

  1. mysqlbinlog工具_mysqlbinlog命令详解 Part 5 通过位置和时间查看日志

    实验环境 此次实验的环境如下 MySQL 5.7.25 Redhat 6.10 binlog模式采用row模式 前面的一些章节我们对mysqldump常用命令进行了讲解 这个专题的内容为mysqlbi ...

  2. php把proto解析为文档,Protobuf 文件生成工具 Prototool 命令详解

    Protobuf 文件生成工具 Prototool 命令详解 简介 Prototool 是 Protobuf 文件的生成工具, 目前支持go, php, java, c#, object c 五种语言 ...

  3. Linux的scan命令,clamscan-Linux查毒工具的命令详解

    clamscan-Linux查毒工具的命令详解 clamscan命令用于扫描文件和目录,一发现其中包含的计算机病毒,clamscan命令除了扫描linux系统的病毒外,主要扫描的还是文件中包含的win ...

  4. linux sfdisk命令,Linux运维知识之Linux sfdisk硬盘分区工具程序命令详解

    本文主要向大家介绍了Linux运维知识之Linux sfdisk硬盘分区工具程序命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 功能说明:硬盘分区工具程序. 语 法:s ...

  5. ARM开发工具软件命令详解---嵌入式回归第三篇

    先从bootloader开始,因为暂时目前这些都会是裸机程序相关! 本人这里是VMwarm10.0上安装的红帽linux虚拟机.从下面的截图中可以看出 裸机开发流程: 这里先做第三步(第一步第二步已提 ...

  6. CentOS 下 yum(基于rpm的包管理工具) 命令详解

    Yum: 即Yellowdog Update Modifier,是一种基于rpm的包管理工具 yum命令使用示例(转载自:https://www.cnblogs.com/vathe/p/6736094 ...

  7. Windows软件授权管理工具 slmgr命令详解

    slmgr是Software LicenseManger的简称,是Windows软件授权管理工具.slmgr是管理系统激活和密钥.证书的主要组件.slmgr的所有功能都是通过slmgr.vbs提供的, ...

  8. Linux抓包工具tcpdump命令详解

    1.简介      用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中 ...

  9. Windows自带压缩文件工具makecab命令详解

    当给女生修电脑上没有winrar.7z等压缩工具,并且还没网络你U盘还掉了的时候 目录 makecab 一.单个文件 二.一个文件夹下的多个文件 三.进阶 bat or vbs 四.注意事项 五.帮助 ...

最新文章

  1. UVA 10603 Fill
  2. 3·15又能把网络电话怎么样?
  3. C语言实验——保留整数_JAVA
  4. html弧形列表效果,web前端入门到实战:html5网页特效-弧形菜单
  5. matlab常用函数——软件常用函数
  6. Git之撤销add操作
  7. c语言dp算法,C++动态规划dp算法题
  8. SpringBoot项目如何进行打包部署
  9. 计算机关闭后桌面文件丢失,win7系统电脑关机重启后桌面文件全部不见了的解决方法...
  10. 计算机求圆面积公式,如何计算圆的面积?
  11. python和mysql匹配吗_python使用mysql
  12. VMbox下ubuntu调整分辨率/安装增强功能
  13. springboot+基于微信小程序的心理测评与活动管理的设计与实现 毕业设计-附源码191752
  14. oracle db、dba和rdba
  15. 前端项目的总结——为什么要组件化?
  16. Dubbo3.0系列(2)- Dubbo3.0核心概念与架构
  17. 初中数学与计算机论文,初中数学优秀论文15篇
  18. NIO空轮训出现的原理以及修复方案
  19. Photoshop CS 中的“照片滤镜/Photo Filter”命令详解(转)
  20. IP Camera 和 Web Camera 差分

热门文章

  1. 汽车之家店铺数据抓取 DotnetSpider实战[一]
  2. F#年度调查结果概述
  3. [转]npm生成的package.json文件中依赖项版本号前的波浪号(~)和插入符号(^)是啥意思?
  4. 【地理信息系统GIS】教案(七章全)第二章:地理信息系统数据结构及数据获取
  5. 【ArcObject开发】实验:ArcGIS Desktop开发方式入门基础教程
  6. 【ArcGIS遇上Python】ArcGIS Python实现长时间序列遥感影像批量处理--以裁剪为例
  7. C语言试题八十四之求空间两点之间的距离
  8. Android之看起来像奔溃了但是没有发现奔溃日志
  9. C和指针之二维字符串数组用指针数组、数组指针、二级指针打印
  10. Android之 AudioTrack学习