I have noticed 'commit' statement missing for a DML statement in binary log. Does it mean that this statement is rolled back in server? I am using mysql 5.5.40.
sample binlog
at 159527792 160229 23:25:22 server id 104 end_log_pos 159528127 Query thread_id=45195 exec_time=0 error_code=0(in comments)SET TIMESTAMP=1456809922/!/;
update table_name set col1=4 where col2=4 /!/;
at 159528275 160229 23:25:22 server id 104 end_log_pos 159528484 Query thread_id=45195 exec_time=0 error_code=0(in comments)SET TIMESTAMP=1456809922/!/;
insert into table_name values (1) /!/;
at 159528632 160229 23:25:22 server id 104 end_log_pos 159528511 Xid = 22993533(in comments)COMMIT/!/;
As per mysql documentation
Binary logging is done immediately after a statement or transaction completes but before any locks are released or any commit is done. This ensures that the log is logged in commit order.
http://dev.mysql.com/doc/refman/5.5/en/binary-log.html
please let me know whether my undersatnding is correct or not. if any statement getting rolled back, server write rollback to binlog?