File tree 1 file changed +46
-0
lines changed
example/dump_binlog_events
1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change
1
+ package main
2
+
3
+ import (
4
+ "flag"
5
+ "fmt"
6
+ "github.com/siddontang/go-mysql/mysql"
7
+ "github.com/siddontang/go-mysql/replication"
8
+ "os"
9
+ )
10
+
11
+ var host = flag .String ("host" , "127.0.0.1" , "MySQL host" )
12
+ var port = flag .Int ("port" , 3306 , "MySQL port" )
13
+ var user = flag .String ("user" , "root" , "MySQL user" )
14
+ var password = flag .String ("password" , "" , "MySQL password" )
15
+
16
+ var flavor = flag .String ("flavor" , "mysql" , "Flavor: mysql or mariadb" )
17
+
18
+ var file = flag .String ("file" , "" , "Binlog filename" )
19
+ var pos = flag .Int ("pos" , 4 , "Binlog position" )
20
+
21
+ func main () {
22
+ flag .Parse ()
23
+
24
+ b := replication .NewBinlogSyncer (101 , * flavor )
25
+
26
+ if err := b .RegisterSlave (* host , uint16 (* port ), * user , * password ); err != nil {
27
+ fmt .Printf ("Register slave error: %v \n " , err )
28
+ return
29
+ }
30
+
31
+ s , err := b .StartSync (mysql.Position {* file , uint32 (* pos )})
32
+ if err != nil {
33
+ fmt .Printf ("Start sync error: %v\n " , err )
34
+ return
35
+ }
36
+
37
+ for {
38
+ e , err := s .GetEvent ()
39
+ if err != nil {
40
+ fmt .Printf ("Get event error: %v\n " , err )
41
+ return
42
+ }
43
+
44
+ e .Dump (os .Stdout )
45
+ }
46
+ }
You can’t perform that action at this time.
0 commit comments