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)

更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. Android系统配置数据库注释(settings.db)
  3. android 分辨率及密度详细
  4. Android——Activity四种启动模式
  5. 固定屏幕显示模式 ScreenOrientation
  6. android 分辨率及密度详细
  7. 解决Android编辑框在全屏模式下无法检测布局变化的问题
  8. 四.Android六种布局详细讲解
  9. 转:Android下文件操作模式(含SDCard的读写)

随机推荐

  1. DSL element ‘android.dataBinding.enab
  2. 解决Flutter 编译异常path_provider
  3. Android App开发基础篇—数据存储(SP和文
  4. 服务器搭建快速入门——适用于Android应
  5. Android下的配置管理之道之高通拆仓
  6. Android开发规范详解
  7. 【Android】进程与线程基本知识
  8. 【Android】Android 多个APK数据共享
  9. android httpclient基本用法
  10. Android 应用程序签名、发布