binlog_ignore_db引起的同步复制故障
今天一个同事跟我说了一个问题,"mysql master使用了binlog_ignore_db一个库以后,使用mysql -e 执行的所有语句就不写binlog了?"
询问了他的情况,他是想在主从复制时,有一个库不复制,查了他的my.cnf配置,binlog格式化为row,跟他要了当时的语句,如下:
mysql -e "create table db.tb like db.tb1" 演示:
结果创建的表,Slave上一个都没有,导致杯具发生。
到底是什么原因引起的呢?那就是没有使用use 库名导致的,如果使用了,就可以记录binlog,如图:
所以,如果想在Slave上忽略一个库的复制,最好不要用binlog_ignore_db这个参数,使用replicate-ignore-db = yourdb,取代之。