首页 > 代码库 > binlog2sql 实战心得

binlog2sql 实战心得

 

原创:binlog2sql在GitHub的地址:https://github.com/danfengcao/binlog2sql

作者:danfengcao

 

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

 

用途:

  数据快速回滚(闪回)
  主从切换后数据不一致的修复
  从binlog生成标准SQL,带来的衍生功能。

 

安装:

  安装git:yum install git

  安装pip:

    wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate

    tar -xzvf pip-1.5.4.tar.gz && cd pip-1.5.4
    python setup.py install

 

  安装binlog2sql:

    git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql

    pip install -r requirements.txt

 

使用:

   MySQL server必须设置以下参数:
    [mysqld]
    server_id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    max_binlog_size = 1G
    binlog_format = row
    binlog_row_image = full

 

  需要一个恢复的帐号,这个帐号需要最小的权限说明:
    * select:需要读取server端information_schema.COLUMNS表,获取表结构的元信息,拼接成可视化的sql语句
    * super/replication client:两个权限都可以,需要执行‘SHOW MASTER STATUS‘, 获取server端的binlog列表
    * replication slave:通过BINLOG_DUMP协议获取binlog内容的权限

    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘liujy‘@‘%‘ identified by ‘123456‘;

       

binlog2sql 实战心得