一、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辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。