Recently we upgraded all our databases from MySql 5.1 to 5.5 Version and we see Couple of good enhancements done on the Replication side, couple of them i noticed are.
1) Ignore any DDL commands if they doesn’t comply with master : For ex: in a Master-Master Setup environment
Master1 (MySql 5.1 Version) – Slave of Master2
Master2 (MySql 5.1 Version) – Slave of Master 1
Replica 1 (Mysql 5.5 Version)
Replica 2 (MySql 5.5 Version)
i) we had 2 temporary tables created on Master and replicated to all the slaves where slaves are upgraded to Mysql 5.5 and Both Masters running MySql 5.1 version (bad scenario),
ii) I deleted 2 temporary tables with set Sql_log_bin=0 on master1 (not Master 2)
iii) I ran the same script on all Replication Slaves separately and Deleted temp tables.
iv) i forgot to set SQL_LOG_BIN=0 on Master2 and executed the script. Master1 slave stopped with an error “unable to locate temp tables 1 and 2. but on Replication Slaves never been stopped or had any errors. MySql 5.5 Version simply ignored those commands when tables doesn’t exist.
This is great enhancement.