mysql中binlog_format模式与配置详细分析
16lz
2021-12-29
mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。
① STATEMENT模式(SBR)
每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题)
② ROW模式(RBR)
不记录每条sql语句的上下文信息,仅需记录哪条数据被修改了,修改成什么样了。而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨。
③ MIXED模式(MBR)
更多相关文章
- Pycharm安装PyQt5的详细教程
- Android系统配置数据库注释(settings.db)
- android 分辨率及密度详细
- Android——Activity四种启动模式
- 固定屏幕显示模式 ScreenOrientation
- android 分辨率及密度详细
- 解决Android编辑框在全屏模式下无法检测布局变化的问题
- 四.Android六种布局详细讲解
- 转:Android下文件操作模式(含SDCard的读写)