mysqlbinlog(日志管理工具)

mysqlbinlog用于处理二进制的日志文件,如果想要查看这些日志文件的文本内容,就需要使用mysqlbinlog工具。

1.mysqlbinlog命令的语法

shell > mysqlbinlog [options] logfile1 logfile2 ...

2.mysqlbinlog的选项

-d, --database=name      仅显示指定数据库的转储内容。
-o, --offset=#           跳过前N行的日志条目。
-r, --result-file=name   将输入的文本格式的文件转储到指定的文件。
-s, --short-form         使用简单格式。
--set-charset=name       在转储文件的开头增加‘SET NAMES character_set‘语句。
--start-datetime=name    转储日志的起始时间。
--stop-datetime=name     转储日志的截止时间。
-j, --start-position=#   转储日志的起始位置。
--stop-position=#        转储日志的截止位置。

3.示例

查看二进制日志文件所在的位置,方法如下:

mysql> show variables like ‘%log%‘;
+-----------------------------------------+--------------------------------------------+
....省略....
| log_bin                                 | OFF                                        |
| log_bin_basename                        |                                            |
| log_bin_index                           |                                            |
| log_bin_trust_function_creators         | OFF                                        |
| log_bin_use_v1_row_events               | OFF                                        |
....省略....
+-----------------------------------------+--------------------------------------------+

由以上输出可见,log-bin的值为OFF,所以必须首先打开log-bin,方法如下:

vi /etc/my.cnf
[mysqld]
....省略....
log-bin=bin-log   # 等号后为log-bin文件的名称前缀,名称可以自定义。

转储log-bin:

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> truncate table t1;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t1 values(214);
Query OK, 1 row affected (0.00 sec)
mysql> insert into t1 values (215);
Query OK, 1 row affected (0.00 sec)
---------------------------------------------------------------------------------------------------------------------
# mysqlbinlog bin-log.000002
....省略....
use `test`/*!*/;
....省略....
truncate table t1
/*!*/;
# at 211
#160830  7:28:36 server id 1  end_log_pos 290 CRC32 0x1f3368bb  Query   thread_id=1     exec_time=0     error_code=0
SET TIMESTAMP=1472513316/*!*/;
BEGIN
/*!*/;
# at 290
#160830  7:28:36 server id 1  end_log_pos 390 CRC32 0xcf40a797  Query   thread_id=1     exec_time=0     error_code=0
SET TIMESTAMP=1472513316/*!*/;
insert into t1 values(214)
/*!*/;
# at 390
#160830  7:28:36 server id 1  end_log_pos 421 CRC32 0x9d9f8407  Xid = 11
COMMIT/*!*/;
# at 421
#160830  7:28:48 server id 1  end_log_pos 500 CRC32 0x722de8f9  Query   thread_id=1     exec_time=0     error_code=0
SET TIMESTAMP=1472513328/*!*/;
BEGIN
/*!*/;
# at 500
#160830  7:28:48 server id 1  end_log_pos 601 CRC32 0x03e2087d  Query   thread_id=1     exec_time=0     error_code=0
SET TIMESTAMP=1472513328/*!*/;
insert into t1 values (215)
/*!*/;
# at 601
#160830  7:28:48 server id 1  end_log_pos 632 CRC32 0x062775e4  Xid = 12
COMMIT/*!*/;
DELIMITER ;
# End of log file
+
时间: 2024-10-12 02:48:34

mysqlbinlog(日志管理工具)的相关文章

Java程序员须知的七个日志管理工具(转)

Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm 英文原文:The 7 Log Management Tools You Need To Know 日志管理工具有 Splunk.Sumo Logic.LogStash.GrayLog.Loggly 和 PaperTrails 等等,数不胜数.日志就像石油,二十多年了我们一直想摆脱它,却一直没有做到. 为了处理日益增长

linux下日志管理工具--logrotate

配置 /usr/local/nginx/logs/*.log { daily dateext rotate 1 olddir /usr/local/nginx/other/logs missingok notifempty compress sharedscripts postrotate /bin/kill -USR1 $(cat /var/run/nginx.pid 2>/dev/null) 2>/dev/null ||: endscript } dateext:文件后缀是日期格式,也就是

logstash+elastic+kibana日志管理工具介绍及安装

logstash+elastic+kibana日志管理工具介绍及安装 一. Logstash 安装 1.1 前置条件,安装了官方java 7或更新版本 查看 [ldx@1511-min ~]$ java -version openjdk version "1.8.0_71" OpenJDK Runtime Environment (build 1.8.0_71-b15) OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode) 1.2

LogCook 一个简单实用的Android日志管理工具

众所周知,日志的管理是软件系统很重要的一部分,千万不可忽略其重要性.完整的日志将会在系统维护中起着异常重要的作用,就好像磨刀不误砍柴工一样,日志就像对系统进行分析的工具,工具便捷了,对系统分析起来就能达到事半功倍的效果.开发者必须要明白日志的价值和意义,万万不可忽略和轻视. LogCook是一款非常简洁实用的Android日记管理工具.LogCook的中文翻译是日志厨师,你可以把它看作是一个日志美食家. 特点 作为一款日志管理工具它最大的特点就是简单实用,与Android原生的日志功能相比较它具

日志管理工具Graylog搭建

日志管理工具--Graylog Graylog+mongodb+elasticsearch日志管理架构搭建 一.mongodb安装 1.添加mongodb安装镜像 [[email protected] package]# vim /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/

日志管理工具之logrotate

Logrotate配置和测试 logrotate软件是一个日志管理工具,用于非分隔日志,删除旧的日志文件,并创建新的日志文件,起到"转储作用",可以为系统节省磁盘空间.logrotate是基于crontab运行的,其脚本是/etc/cron.daily/logtotate,日志轮转是系统自发完成的,实际运行时,logrotate会调用配置文件/etc/logrotate.conf.可以在/etc/logrotate.d目录里放置自定义好的配置文件,用来覆盖logrotate.conf的

logrotate日志管理工具

logrotate是一个日志文件管理工具.用来把旧文件轮转.压缩.删除,并且创建新的日志文件.我们可以根据日志文件的大小.天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的. 1. 配置实例 /var/log/messages {     rotate 5     weekly     postrotate         /sbin/killall -HUP syslogd     endscript }   "/var/log/httpd/access.log"

NLog日志管理工具

一.通过VS建立一个控制台应用程序. 二.打开程序包管理器控制台.具体操作如下:[工具]>[库程序包管理器]>[程序包管理器控制台]. 三.在程序包管理器控制台下输入命令:Install-Package NLog 安装成功后,项目的引用中会自动添加了NLog这个引用.并且项目的文件夹里下载了NLog的一些资源文件. 四.继续在程序包管理器控制台中输入命令:Install-Package NLog.config 稍等片刻,会发现项目中多出了三个文件项,分别是,NLog.config.Nlog.x

kubernetes 的EFK 部署日志管理工具

kubernetes 的EFK 部署 标签(空格分隔): kubernetes系列 一: kubernetes 的EFK 部署 一: kubernetes 的EFK 部署 1.1 关于pod的日志信息 cd /var/log/containers/ ls ls -lrt * 1.2 kubernetes 的EFK 部署 添加 Google incubator 仓库 helm repo add incubator http://storage.googleapis.com/kubernetes-c