Thesql 5.6 replication log-slave-updates doesn’t work

MySQLreplication

We have a setup of master -> replication -> replication
the dbs are: mysql 5.7 -> 5.6 -> 5.7

on the replication 5.6 we have the following my.cnf:

[mysqld]
default-storage-engine=InnoDB
innodb_file_per_table=1
performance-schema=0


max_connections=4096
group_concat_max_len=8196
innodb_flush_log_at_trx_commit=0
query_cache_limit=128M
query_cache_size=128M
max_allowed_packet=268435456
open_files_limit=29000
#log_timestamps = SYSTEM

slow-query-log=1
#log = /var/log/mysql_query.log

server-id               = 2

log-bin

replicate-do-db = db_main
log-slave-updates

slave-skip-errors = all

however the bin-log on the server is not being updated. The relay-log IS being update. server-id on the master 5.7 is 1 and on the last 5.7 slave is 3.
all servers have log-slave-updates and upon checking with mysqladmin var|grep update we see log_slave_updates ON.

What are we missing?

Thanks!

Best Answer

First, you might want to explicitly set those options to on and restart the instance (enabling binary logging requires restart) log_slave_updates=ON log_bin=mysql-binlog

Second, you are not supposed to replicate from a master which is at a higher version to a slave at a lower version because of incompatible changes in binary log formats across versions: https://dev.mysql.com/doc/refman/5.7/en/replication-compatibility.html