binlog2sql
binlog2sql copied to clipboard
启动多个客户端的时候,server_id冲突
请问是否是有意这样设计,如果是的话是因为什么?
如果没有特别设计,解决该问题path,请参考是否采纳
--- a/binlog2sql/binlog2sql.py
+++ b/binlog2sql/binlog2sql.py
@@ -4,6 +4,7 @@
import sys
import datetime
import pymysql
+import random
from pymysqlreplication import BinLogStreamReader
from pymysqlreplication.event import QueryEvent, RotateEvent, FormatDescriptionEvent
from binlog2sql_util import command_line_args, concat_sql_from_binlog_event, create_unique_file, temp_open, \
@@ -56,8 +57,9 @@ class Binlog2sql(object):
if binlog2i(self.start_file) <= binlog2i(binary) <= binlog2i(self.end_file):
self.binlogList.append(binary)
- cursor.execute("SELECT @@server_id")
- self.server_id = cursor.fetchone()[0]
+ #cursor.execute("SELECT @@server_id")
+ #self.server_id = cursor.fetchone()[0]
+ self.server_id=random.randint(1024,4294967295)
if not self.server_id:
raise ValueError('missing server_id in %s:%s' % (self.conn_setting['host'], self.conn_setting['port']))