jimtse
网站页面
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\Program Files\\mysql-5.7.29-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\Program Files\\mysql-5.7.29-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
server-id = 1
sync_binlog=1
log_bin = mysql-bin
binlog_format = row
expire_logs_days = 7
log_error = D:\\Program Files\\mysql-5.7.29-winx64\\var\\log\\mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = D:\\Program Files\\mysql-5.7.29-winx64\\var\\log\\mysql-slow.log
binlog_cache_size = 4M
max_allowed_packet=2048M
wait_timeout=288000
interactive_timeout = 288000
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
master reset;
SHOW BINLOG EVENTS IN 'mysql-bin.000002';
flush logs;
这个工具是基于Python开发的(2.7+,3.4+),所以根据手册先安装相关依赖
git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
pip install -r requirements.txt
使用方法和官方工具类似,提供偏移位置或者起始时间来进行准确定位。如果不提供定位信息,就会从头开始显示所有信息。
python D:\workspace\binlog2sql\binlog2sql\binlog2sql.py --flashback -h127.0.0.1 -P3306 -uroot -p --start-file=mysql-bin.000002 --end-pos=436 -d stema > rec.sql
Jim Tse
https://jimtse.eu.org:88/program/mysql-binlog-recover.html(转载时请注明本文出处及文章链接)