mysql 二进制日志查看_使用mysqlbinlog查看二进制日志

(一)mysqlbinlog工具介绍

binlog类型是二进制的,也就意味着我们没法直接打开看,MySQL提供了mysqlbinlog来查看二进制日志,该工具类似于Oracle的logminer。mysqlbinlog用法为

[root@masterdb binlog]# mysqlbinlog

Usage: mysqlbinlog [options] log-files

其中,常用的option选项如下:option作用

-d , --database=name只列出指定数据库的操作

-o , --offset = n忽略日志前n行

-r , --result-file=name将输出的文本格式日志保存到文件

-v

-vv-v  :从binlog中重建sql语句

-vv:显示的SQL语句增加了注释,可以理解为-v的增强

--start-datetime=datetime

--stop-datetime=datetime指定日期间隔内的所有日志

--start-position=position

--stop-position=position指定位置间隔内的所有日志

(二)mysqlbinlog使用例子

(1)提取指定的binlog日志

mysqlbinlog /home/mysql/data/ins3308/binlog.000018

(2)提取指定position位置的binlog日志

mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018

(3)提取指定position位置的binlog日志并输出到压缩文件

mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018 |gzip >extra_01.sql.gz

(4)提取指定position位置的binlog日志导入数据库

mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018 | mysql -uroot -p

(5)提取指定开始时间的binlog并输出到日志文件

mysqlbinlog --start-datetime="2017-08-14 10:00:00" /home/mysql/data/ins3308/binlog.000018 --result-file=extra02.sql

(6)提取指定位置的多个binlog日志文件

mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018 /home/mysql/data/ins3308/binlog.000019|more

(7)提取指定数据库binlog并转换字符集到UTF8

mysqlbinlog --database=test --set-charset=utf8 /home/mysql/data/ins3308/binlog.000018 /home/mysql/data/ins3308/binlog.000019 >test.sql

(8)远程提取日志,指定结束时间

mysqlbinlog -uroot -p -h192.168.10.11 -P3308 --stop-datetime="2017-08-14 10:00:00" --read-from-remote-server binlog.000018 |more

(9)远程提取使用row格式的binlog日志并输出到本地文件

mysqlbinlog -uroot -p -P3308 -h192.168.10.11 --read-from-remote-server -vv binlog.000018 >row.sql

(三)mysqlbinlog提取日志样例

例子1:使用--start-datetime和--stop-datetime显示2020年2月12日23:30到2020年2月12日23:50的日志

[root@masterdb binlog]# mysqlbinlog master-bin.000025 --start-datetime='2020-02-12 23:30:00' --stop-datetime='2020-02-12:23:50:00'

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER/*!*/;

# at4#200212 23:40:10 server id 1 end_log_pos 123 CRC32 0xfc4fd0fc Start: binlog v 4, server v 5.7.24-log created 200212 23:40:10at startup

# Warning: this binlog is eitherinuse or was not closed properly.

ROLLBACK/*!*/;

BINLOG'WhxEXg8BAAAAdwAAAHsAAAABAAQANS43LjI0LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAABaHEReEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA

AfzQT/w=

'/*!*/;

# at 123#200212 23:40:10 server id 1 end_log_pos 154 CRC32 0x3dc8c184 Previous-GTIDs

# [empty]

# at154#200212 23:40:46 server id 1 end_log_pos 219 CRC32 0x12bba458 Anonymous_GTID last_committed=0 sequence_number=1 rbr_only=no

SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;

# at219#200212 23:40:46 server id 1 end_log_pos 315 CRC32 0x5ed83729 Query thread_id=3 exec_time=0 error_code=0use `db1`/*!*/;

SET TIMESTAMP=1581522046/*!*/;

SET @@session.pseudo_thread_id=3/*!*/;

SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;

SET @@session.sql_mode=1436549152/*!*/;

SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;/*!\C utf8*//*!*/;

SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;

SET @@session.lc_time_names=0/*!*/;

SET @@session.collation_database=DEFAULT/*!*/;

create table t1(id int)/*!*/;

SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /*added by mysqlbinlog*/ /*!*/;

DELIMITER ;

# End of logfile

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值