mysql binlog 文件解析SDK(只解析了部分event)
func main() { decoder, err := binlog.NewBinFileDecoder("./testdata/mysql-bin.000004") if err != nil { panic(err) } err = decoder.WalkEvent(func(event *binlog.BinEvent) (isContinue bool, err error) { eventType, _ := event.GetType() fmt.Printf("Got %s\n", eventType) fmt.Println(event.Header) if event.Body != nil { fmt.Println(event.Body) } fmt.Println(strings.Repeat("=", 100)) return true, nil }) if err != nil { panic(err) } }