Mac 使用Mysql Binlog工具 binlog2sql 遇到的问题解决方案

工具下载地址binlog2sql

他这个工具支持 linux Mac 也能安装 只要有python 环境都能运行

安装以及配置

binlog2sql

从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。

用途

  • 数据快速回滚(闪回)
  • 主从切换后新master丢数据的修复
  • 从binlog生成标准SQL,带来的衍生功能

    项目状态

    正常维护。应用于部分公司线上环境。
  • 已测试环境
    • Python 2.7, 3.4+
    • MySQL 5.6, 5.7
      安装
git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
#如果使用的是python3 建议直接使用pip3 进行安装, 执行前请先修改  txt文件内容
pip3 install -r requirements.txt

修改 requirements.txt 文件内容为:

#版本一定需要是0.9.3 否则脚本无法使用
PyMySQL==0.9.3
wheel==0.29.0
mysql-replication==0.21

此处修改很重要,一定要调整,安装之后我们就正常了

MySQL server必须设置以下参数:

[mysqld]
#server_id 是唯一的
server_id = 1
log_bin = mysql-bin
max_binlog_size = 256M
# 这个地方一定要设置为row 设置为mixed 此工具无法执行rollback
binlog_format = row
binlog_row_image = full
binlog_expire_logs_seconds=43200
log_bin_index=/usr/local/var/mysql/mysql-bin.index

datadir=/usr/local/var/mysql

binlog-ignore-db                   = information_schema
binlog-ignore-db                   = mysql
binlog-ignore-db                   = sys
binlog-ignore-db                   = performance_schema

log_error                          = /usr/local/var/mysql/mysql-error.log

重启mysql brew service stop mysql && brew service start mysql 如果启动失败,查看 mysql-error.log

查询binlog sql 内容

如果不知道文件在哪,请在 mysql 下执行
show master logs

Mac  安装Mysqlbinlog  工具 binlog2sql

python3 binlog2sql.py  -h127.0.0.1 -P3306 -uroot -p123456 -d local_test -taccount --start-file='mysql-bin.000001'

Mac  安装Mysqlbinlog  工具 binlog2sql

回滚日志方式

具体使用请参考下载地址:

# -B 恢复 等价于 参数 --flashback
python3 binlog2sql.py  -h127.0.0.1 -P3306 -uroot -p123456 -d local_test -taccount --start-file='mysql-bin.000001' -B
#等价下面
python3 binlog2sql.py  -h127.0.0.1 -P3306 -uroot -p123456 -d local_test -taccount --start-file='mysql-bin.000001' --flashback

Mac  安装Mysqlbinlog  工具 binlog2sql

以上是在使用这个工具遇到的两个问题,再次记录一下,帮助排坑

本作品采用《CC 协议》,转载必须注明作者和本文链接
每天一点小知识,到那都是大佬,哈哈
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!