MySQL的binlog数据如何查看
一、binlog介绍
binlog,即二进制日志,它记录了数据库上的所有改变.
改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕.
binlog格式
基于语句,无法保证所有语句都在从库执行成功,比如update ... limit 1;
基于行,将每一次改动记为binlog中的一行.在执行一个特别复杂的update或者delete操作时,基于行的格式会有优势.
二、登录到mysql查看binlog
1、只查看第一个binlog文件的内容
1
|
show binlog events;
|
2、查看指定binlog文件的内容
1
|
show binlog events
in
'mysql-bin.000002'
;
|
3、查看当前正在写入的binlog文件
1
|
show master status\G;
|
4、获取binlog文件列表
1
|
show binary logs;
|
三、用mysqlbinlog工具查看
注意:
不要查看当前正在写入的binlog文件
不要加--force参数强制访问
如果binlog格式是行模式的,请加 -vv参数
本地查看binlog日志
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1
、基于开始
/
结束时间
mysqlbinlog
-
-
start
-
datetime
=
'2019-02-17 00:00:00'
-
-
stop
-
datetime
=
'2019-02-19 01:01:01'
-
d 库名 二进制文件
mysqlbinlog
-
-
start
-
datetime
=
'2019-03-25 00:00:00'
-
-
stop
-
datetime
=
'2019-03-25 10:00:00'
-
d silugo var.
001335
2
、基于pos值
mysqlbinlog
-
-
start
-
position
=
107
-
-
stop
-
position
=
1000
-
d 库名 二进制文件
mysqlbinlog
-
-
start
-
position
=
177
-
-
stop
-
position
=
989
-
d silugo var.
001335
3
、转换为可读文本
mysqlbinlog –base64
-
output
=
DECODE
-
ROWS
-
v
-
d 库名 二进制文件
mysqlbinlog
-
-
base64
-
output
=
DECODE
-
ROWS
-
vv
-
d silugo var.
001335
|
远程查看binlog日志
1
2
3
4
|
1
、指定开始
/
结束时间,并把结果重定向到本地t.binlog文件中.
mysqlbinlog
-
u username
-
p password
-
h192.
168.56
.
101
-
P3306 \
-
-
read
-
from
-
remote
-
server
-
-
start
-
datetime
=
'2018-09-10 23:00:00'
-
-
stop
-
datetime
=
'2018-09-10 23:30:00'
mysql
-
bin
.
000001
> t.binlog
|