mysqlbinlog命令用法

xiaohai 2020-10-22 11:51:19 2421人围观 标签: Mysql 
简介如何查看Mysql的二进制日志文件内容,其实Mysql本身就提供了一个命令就是mysqlbinlog,本文主要记录Mysql的mysqlbinlog命令的使用。

mysqlbinlog是用来解析mysql的binlog日志工具。

mysql的binlog日志是什么呢?
1、首先必须开启mysql的binlog的功能,在配置文件配置
log-bin = binlog 
log-bin-index = binlog.index
#下面这两句是为了让binlog里面的sql解析成row模式 --->参考Mysql问题集[mysqlbinlog解析binlog乱码问题解密]
transaction_isolation = REPEATABLE-READ
	      binlog_format=MIXED
2、在mysql的数据目录下会有:

image.png

binlog.00000*的文件就是binlog日志文件,binlog.index是记录日志文件的索引文件
image.png

3、binlog日志的作用

用来记录mysql内部增删改查等对MySQL数据有更新内容的记录。像show和select一般不会记录

4、binlog拆库(-b),只对某个库进行binlog查看
mysqlbinlog -d blog /usr/local/mysql/data/binlog.000011 > blog.sql
5、指定位置点–start-position和–stop-position
mysqlbinlog  /usr/local/mysql/data/binlog.000011 --start-position=2357 --stop-position=2481 -r pos.sql
注意:-r也是重定向
6、指定开始时间和结束时间(但是这样做恢复不准确)
mysqlbinlog  /usr/local/mysql/data/binlog.000011 --start-datetime="2018-04-18 12:05:40" --stop-datetime="2018-04-18 12:05:41" -r time.sql
注意:
  • 1、在实际操作中,首先需要对库做一次全备,最好使用–master-data=2来找准备份点;
  • 2、找准开始和结束的位置点,在某些情况下结束位置点很重要,比如删错了数据库和表;
  • 3、切记,一定要小心操作 _