作/译者:叶金荣(Email: ),来源:http://imysql.cn MySQL 5.1 中,在复制方面的改进就是引进了新的复制技术:基于行的复制。简言之,这种新技术就是关注表中发生变化的记录,而非以前 的照抄 binlog 模式。从 MySQL 5.1.12 开始,可以用以下三种模式来实
作/译者:叶金荣(Email: ),来源:http://imysql.cn
MySQL 5.1 中,在复制方面的改进就是引进了新的复制技术:基于行的复制。简言之,这种新技术就是关注表中发生变化的记录,而非以前
的照抄 binlog 模式。从 MySQL 5.1.12 开始,可以用以下三种模式来实现:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。相应地,binlog的格式也有三种:STATEMENT,ROW,MIXED。MBR 模式中,SBR 模式是默认的。
在运行时可以动态低改变binlog的格式,除了以下几种情况:
如果binlog采用了 MIXED 模式,那么在以下几种情况下会自动将binlog的模式由 SBR 模式改成 RBR 模式。
设定主从复制模式的方法非常简单,只要在以前设定复制配置的基础上,再加一个参数:
binlog_format="STATEMENT"
#binlog_format="ROW"
#binlog_format="MIXED"
当然了,也可以在运行时动态修改binlog的格式。例如
mysql> SET SESSION binlog_format = 'STATEMENT';
mysql> SET SESSION binlog_format = 'ROW';
mysql> SET SESSION binlog_format = 'MIXED';mysql> SET GLOBAL binlog_format = 'STATEMENT';
mysql> SET GLOBAL binlog_format = 'ROW';
mysql> SET GLOBAL binlog_format = 'MIXED';
现在来比较以下 SBR 和 RBR 2中模式各自的优缺点:
SBR 的优点:
SBR 的缺点:
RBR 的优点:
RBR 的缺点:
另外,针对系统库 mysql 里面的表发生变化时的处理规则如下:
注:采用 RBR 模式后,能解决很多原先出现的主键重复问题。
Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务