mysqlbinlog命令用法
简介如何查看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的数据目录下会有:
binlog.00000*的文件就是binlog日志文件,binlog.index是记录日志文件的索引文件
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、切记,一定要小心操作 _