MySQL什么情况下DML操作不会记录binlog ?

MySQL什么情况下DML操作不会记录binlog ?


以下情况可能会造成DML不会记录binlog:
    1、并未开启binlog
    2、在执行DML之前set sql_log_bin=0;
    3、DML操作提交后,未完成binlog写入,此时MySQL crash,MySQL重新启动后,会回滚该操作。
    4、DML操作提交后,由于sync_binlog配置为非0,MySQL服务器down机导致binlog并未持久化。
    5、主库提交事务,同步到从库,但从库并未开启log_slave_updates,也无法记录binlog
    6、DML操作在temporary表(非memory引擎)上,由于是会话级的数据变更,并不记录binlog
    7update/delete等DML并没有达到数据更新。
    8、其他原因如:binlog文件权限、文件句柄、inode耗尽、磁盘空间满等原因导致binlog无法写入。
原文地址:https://www.cnblogs.com/zhouwanchun/p/13141863.html