mysql第三方工具binlog_mysql 开发进阶篇系列 33 工具篇(mysqlbinlog日志管理工具)

一.概述

由于服务器生成的二进制日志文件以二进制格式保存,所以如果要想检查这些文件的文本格式,就会用到mysqlbinlog日志管理工具。

mysqlbinlog的语法如下:

mysqlbinlog [options] log-files log-files2...

其中options有很多选项,常用如下:

选项

说明

-d, --database=name

指定数据库名称,只列出指定的数据库相关操作。

-o, --offset=#

忽略掉日志中的前n行命令

-r, --result-file=name

将输出的文本格式日志输出到指定文件

-s,--short-form

显示简单格式,省略掉一些信息

--set--charset=char-name

在输出为文本格式时,在文件第一行加上set names char-name.

-- start-datetime=name-stop-datetime=name

指定日期间隔内的所有日志

--start-position=# --stop-position=#

指定位置间隔内的所有日志

1.1 开启binlog日志

默认情况下是未打开binlog日志,可以通过以下二种方式查看:

mysql> show binarylogs;

ERROR1381 (HY000): You are not using binarylogging--或者这样查看

mysql> show variables like '%log_bin%

6ae6d6e61637e6c92e43d5b179cdbfd8.png

开启binlog日志,修改my.cnf文件重启mysql服务,如下所示:

32e2e2864517090611e5ed9ac6f9171b.png

再次查询binlog日志状态:

8f7a679824bd00c2df46783bc0187256.png

53d34cf6da9a16eb45def1afbf8da6de.png

二. 使用mysqlbinlog查看日志

--先在test表中插入一条数据退出。

mysql> insert into a values('testbinlog');

--查看binlog位置

[root@hsr mysql]# cd/var/lib/mysql

[root@hsr mysql]#lsmysql-bin.000001 mysql-bin.index

2.1 使用mysqlbinlog查看日志 不加任何options参数

[root@hsr~]# cd /usr/local/mysql/bin

[root@hsr bin]# ./mysqlbinlog /var/lib/mysql/mysql-bin.000001

62e242abe89e5ea4ffa46324fec42e6e.png

上面的日志文件除了创建表和删除表的sql外,操作数据库的语句都加密了。

2.2 使用参数"--base64-output=decode-row -v"查看具体的sql语句,如下命令

[root@hsr bin]# ./mysqlbinlog --base64-output=decode-row -v /var/lib/mysql/mysql-bin.000001

51cf100d39834511a634e7412fa57568.png

上图中 at 291是插入语句的开始位置, at 384是插入语句的结束位置。如果后续该表数据丢失,可以根据这两个地方执行恢复。也可以根据开始时间和结束时间来恢复,后面再讲日志时具体介绍。

2.3  加-d选项,将只显示对test数据库的操作日志

[root@hsr bin]# ./mysqlbinlog   /var/lib/mysql/mysql-bin.000001 -d test

2.4  加-o选项, 忽略掉日志中的前n个操作。演示下

--插入三条数据

INSERT INTO a VALUES('testbinlog2')INSERT INTO a VALUES('testbinlog3')INSERT INTO a VALUES('testbinlog4')[root@hsr bin]# ./mysqlbinlog --base64-output=decode-row -v /var/lib/mysql/mysql-bin.000001 -d test -o 14

5a0d6d8f6b53a6f58abf2cca7b8af8ec.png

上图显示日志生成后,从at 898行开始显示。 14个操作代表:日志显示跳过14个at。

2.5 加-r选项

将输出的文本格式日志输出到指定文件,下面将文件结果输出到文件resultfile中。

[root@hsr bin]# ./mysqlbinlog --base64-output=decode-row -v /var/lib/mysql/mysql-bin.000001 -r resultfile

[root@hsr bin]#more resultfile

baab63e042f257ff22e825f37d63a1ee.png

2af9204db89a2faad2982cb4fe3a39a5.png

2.6 加-s 将内容进行简单显示

[root@hsr bin]# ./mysqlbinlog --base64-output=decode-row -v /var/lib/mysql/mysql-bin.000001 -s

8d6c864df332efb134865f0843a257d2.png

如上图所示,简单显示后,没有了详细的sql语句。

2.7 加"--start-datetime--stop-datetime"显示9:00 ~12:00之间的日志

[root@hsr bin]# ./mysqlbinlog --base64-output=decode-row -v /var/lib/mysql/mysql-bin.000001

--start-datetime='2018/08/30 09:00:00' --stop-datetime='2018/08/30 12:00:00'

bc6cb4b398768671b5b14a4d49a7ba03.png

如上图所示:最后显示的时间截是1535600091, 转换后是2018-08-30 11:34:51。 开始和结束日期可以只写一个。

2.8 加"--start-position=#和--stop-position=#" 和日期范围类似,不过更精确

[root@hsr bin]# ./mysqlbinlog --base64-output=decode-row -v /var/lib/mysql/mysql-bin.000001 --start-position=944

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

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

相关文章

JMeter部分功能详解

JMeter 介绍: 一个非常优秀的开源免费的性能测试工具。 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来。 从性能工具的原理划分: Jmeter工具和其他性能工具在原理上完全一致,工具包含4个部分&#xff1…

[原]Threads vs Processes in Linux 分析

Linux中thread (light-weighted process) 跟process在實作上幾乎一樣。 最大的差異來自於,thread 會分享 virtual memory address space. a. 從kernel角度看兩者沒差別,在user看來process是least shared而thread是most sharing. b. 從實作角度來比較: 創…

登录时记住用户名和密码及cookie案例应用

文章原址:http://www.jb51.net/article/33588.htm 登录样子,可以参考某一论坛的登录介面: 记住这些信息,可以使用Cookie来实现,更多Cookie应用,可参考 http://jb51.net/article/33590.htm http://jb51.net…

退出登录后点返回键 是登录状态_看了这50条登录的测试点,你还敢说测试很容易吗...

条件:一个用户名输入框 (要求15个字符以内)一个密码输入框 (要求8个字符以内)一个登录按钮针对以上条件进行测试用例的设计先回顾一下测试用例的设计方法:等价类,边界值,错误猜测法,因果图,场景法测试功能点…

HTML5原生拖拽/拖放(drag drop)详解

前言 拖放(drap && drop)在我们平时的工作中,经常遇到。它表示:抓取对象以后拖放到另一个位置。目前,它是HTML5标准的一部分。我从几个方面学习并实践这个功能。 拖放的流程对应的事件 我们先看下拖放的流程&a…

Linux 下 新增Oracle10g 实例

主要分为5步:创建实例目录,创建密码文件,创建参数文件,创建建库脚本并建库,创建数据字典。 其中,需要特别注意2点: 目录的权限,即用户和所属用户组都要是oracle。可以切换到已存在的…

Linux vmstat命令详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是…

python中如何比较两个列表_python中如何比较两个列表

cmp() 方法用于比较两个列表的元素。cmp()方法语法:cmp(list1, list2)参数:list1 -- 比较的列表。list2 -- 比较的列表。返回值:如果比较的元素是同类型的,则比较其值,返回结果。如果两个元素不是同一种类型,则检查它们是否是数字。如果是数字…

窗体设置

锁定窗体大小:FormborderStyleFixedDialog 去掉最大化:maxminzeboxfalse 去掉最小化:minminzeboxfalse转载于:https://www.cnblogs.com/swtool/p/3840171.html

rc mysql common_RR与RC隔离级别下MySQL不同的加锁解锁方式

作者 韩杰沃趣科技MySQL数据库工程师出品 沃趣科技| RC与RR隔离级别下MySQL不同的加锁解锁方式MySQL5.7.21数据准备rootlocalhost : pxs 05:26:27> show create table dots\G*************************** 1. row ***************************Table: dotsCreate Table: …

浅谈web应用的负载均衡、集群、高可用(HA)解决方案

浅谈web应用的负载均衡、集群、高可用(HA)解决方案转载于:https://www.cnblogs.com/hfultrastrong/p/7887420.html

今天开通了博客园帐号

打算开博客很久了,最近一直在纠结于应该在哪里开博客,也选了一些博客网站做了粗略的对比,同时还看了网友们的比较,将要在博客园和CSND之间选择,最后选择了博客园。原因在于博客园更专注,希望在这里能够和大…

hdu 确定比赛名次

算法&#xff1a;拓扑排序 题意&#xff1a;有一个比赛&#xff0c;现在知道很多队之间的关系&#xff1b;让你去让确定比赛排名&#xff1b; Problem Description 有N个比赛队&#xff08;1<N<500&#xff09;&#xff0c;编号依次为1&#xff0c;2&#xff0c;3&#x…

Tomcat中server.xml文件内各节点详解

由于 Tomcat 基于 Java&#xff0c;实际上在各种 Linux 发行版里的配置方法都大同小异&#xff0c;只是我看见在 Arch Linux 环境里搭建 Tomcat 的文章比较少&#xff0c;所以在 Arch Linux 实践一遍然后得出此文。此文假设你对 Tomcat 并不十分了解&#xff0c;主要笔墨将会在…

thinkphp mysql cache_thinkPHP5框架数据库连贯操作之cache()用法分析

本文实例讲述了thinkPHP5框架数据库连贯操作之cache()用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;介绍TP5中自带的缓存系统&#xff0c;是File型缓存。也就是文件型缓存。存储地址是&#xff1a;根目录..untimecache(根目录指public)。这个缓存系统相较于redi…

[Javascript_库编写]创建自己的“JavaScript库”

一.编写JavaScript库要注意的问题 为了让自己的JS库构建的更加优雅、合理&#xff0c;我们编写JS库时要注意两方面的内容&#xff1a; 1.不要使用版本检测&#xff0c;而要使用能力检测 由于浏览器的类型和版本太多&#xff0c;以及不断的新的浏览器出现&#xff0c;我们不可能…

文件的分割与合并

/*文件的分割*/ #include<stdio.h> #include<stdlib.h> #include<string.h> #define NUM 1024 * 1024 * 100 int main() {//所需分割的文件路径FILE *fr fopen("F:\\PL.exe", "rb");if (fr NULL){exit(-1);}char *buff (char*)malloc…

mysql5.6.24怎么打开_mysql 5.6.24 安装配置方法图文教程

由于工作需要&#xff0c;开始使用mysql数据库&#xff0c;已经好久没有使用了。基本已经忘了差不多。今天重新安装配置了一下&#xff0c;写个随笔记录一下&#xff0c;以免自己以后需要的时候翻看&#xff0c;如有不正确或需要补充的&#xff0c;希望大家多多留言。首先下载m…

sublime text 3安装及使用

安装配置 安装&#xff1a; 安装环境:Ubuntu 16.04 官网下载sublime text 3 https://www.sublimetext.com/3 解压&#xff1a; tar xvf 文件名 进入 sublime_text_3文件夹&#xff0c;运行 ./sublime_text 注册码&#xff1a;我用的时候有用 —– BEGIN LICENSE —–TwitterInc…