一、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
网友评论