解析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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容