默认情况下,mysql的主从同步,会启用三个线程,两个IO线程和一个SQL线程。主从同步的主要文件就是binlog文件,从库从主库的binlog中读取数据,然后记录在从库自己的relaylog中,然后通过SQL线程从relaylog中读取数据,写入到从库中。这个操作,是不会写入到从库自己的binlog中的,所以说从库的binglog也就是空的(如果从库开启了binlog的情况下)。
如果要让从库记录主库的binlog记录,可以选择在从库的配置文件中增加一条参数。
Property | Value |
---|---|
Command-Line Format | --log-slave-updates[={OFF|ON}] |
System Variable | log_slave_updates |
Scope | Global |
Dynamic | No |
Type | Boolean |
Default Value | OFF |
Whether updates received by a slave server from a master server should be logged to the slave's own binary log. Binary logging must be enabled on the slave for this variable to have any effect
官方文档说明了,开启之后,就会在从库上记录主库的binlog。直接在配置文件中log-slave-updates=1也是可以的。