解析binlog 常用命令

一、MySQL命令(sql)

查看是否开启binlog

SHOW VARIABLES LIKE 'log_bin'; -- ON为开启

查看binlog存放位置

SHOW VARIABLES LIKE 'datadir';
-- 或者由`my.cnf` /` my.ini` 文件指定
-- log-bin=/usr/logs/mysql-bin

查看binlog日志列表

SHOW MASTER logs;

二、使用mysqlbinlog工具解析(shell)

指定数据库

mysqlbinlog -database #databaseName mysqld-bin.000001

格式化

mysqlbinlog --base64-output=decode-rows -v mysqld-bin.000001
# 或者
mysqlbinlog --base64-output=decode-rows -vv mysqld-bin.000001

获取指定时间段

# [start_datetime,stop_datetime)
mysqlbinlog --start-datetime="2017-08-16 10:00:00" --stop-datetime="2017-01-09 18:00:00" mysqld-bin.000001

三、结合grep命令

# 临时文件
mysqlbinlog --base64-output=decode-rows -v mysqld-bin.000001 > temp.sql

# 找出匹配'tableName'的sql 
grep -w tableName temp.sql > output.sql

你可能感兴趣的:(解析binlog 常用命令)