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无法写入。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM