mysql server-id作用和binlog文件

server-id的作用:

1.mysql的同步数据中是包含server-id的,用于标识该语句最初从哪个server写入,所以server-id一定要有

2.每一个同步中的slave在master上都有对应的一个master线程,该线程就是通过slave的server-id来标识的;每个slave在master端最多有一个master线程,如果两个slave的server-id相同,则后一个连接成功时,前一个会被踢掉,

slave主动连接master之后,如果slave上面执行了slave stop;则连接断开,但是master上对应的线程并没有退出;当slave start之后,master不能再创建一个线程而保留原来的线程,那样同步就可能有问题

3.在mysql做主主同步时,多个主需要构成一个环状,但是同步的时候又要保证一条数据不会陷入死循环,这里就是靠server-id来实现的

MySQL binlog后面的编号最大是多大?

binlog序号是从000001开始,当达到999999后,binlog会怎么样?
作了测试如图:
mysql server-id作用和binlog文件
说明:当达到999999之后,数字会增加以为。
通过查看mysql的源码,发现最大值可以达到2^31-1
mysql server-id作用和binlog文件


译者介绍:家华,从事mysqlDBA的工作,记录自己对mysql的一些总结