python解析mysql二进制日志_Python使用pymysqlreplication来解析二进制日志binlog

以下脚本只对binlog进行了初步的解析,使用者可以根据解析的结果,在ReadBinlog.app部分进行二次开发

#!/usr/bin/env python3

# _*_ coding:utf8 _*_

from threading import Thread

from queue import Queue

from time import strptime,mktime,localtime,strftime

from pymysqlreplication import BinLogStreamReader #pip3 install mysql-replication==0.21

from pymysqlreplication.row_event import DeleteRowsEvent,UpdateRowsEvent,WriteRowsEvent

##从主库读取binlog,然后将event解析,将解析结果放队列中

class BinlogStream(Thread):

def __init__(self,

queue_logs, #队列

master_host,master_port,master_user,master_pswd, #主库配置

start_time, stop_time, #开始结束时间,格式:YYYY-mm-dd HH:MM:SS

log_file,log_pos=0, #开始binlog文件位置

only_schemas = None, only_tables = None #只监听指定的库和表,格式:['db1','db2']

):

self._Queue = queue_logs

self.connect = {'host': master_host, 'port': master_port, 'user': master_user,'passwd': master_pswd}

self.log_file,self.log_pos = log_file,log_pos

self.start_time = int(mktime(strptime(start_time, "%Y-%m-%d %H:%M:%S")))

self.stop_time = int(mktime(strptime(stop_time, "%Y-%m-%d %H:%M:%S")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值