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 7、update/delete等DML並沒有達到數據更新。 8、其他原因如:binlog文件權限、文件句柄、inode耗盡、磁盤空間滿等原因導致binlog無法寫入。