栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL主从复制的三种复制模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL主从复制的三种复制模式

MySQL的复制是利用二进制日志binlog实现主从之间的数据同步。binlog日志的格式分为三种,使用参数binlog_format控制binlog的格式,该参数的不同值代表不同的日志格式,三种日志格式对应三种主从复制模式:
语句复制模式(Statement Based Replication,SBR):基于实际执行的SQL语句的复制模式,该复制模式简单实现了数据同步,但在执行跨库更新等SQL语句时容易出现主从库的数据不一致问题。
记录复制模式(Row Based Replication,RBR):基于修改的行的复制模式。不再简单记录SQL语句的执行顺序,而是逐行记录存储引擎的数据是如何变更的,主从库的数据一致性保障得到大幅度提升,是当前各生产环境常用的一种复制模式,该方式更安全。
混合复制模式(Mixed Based Replication):简称MBR,根据SQL语句的不同来判断是否需要使用row格式,当出现可能造成主从库数据不一致的SQL语句时(例如:用户自定义函数、跨库SQL语句等),binlog自动转为row格式记录。
查看binlog_format参数值:

mysql> show global variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW   |
+---------------+-------+
1 row in set (0.08 sec)

mysql> 

下面展示如何在mysql实例层设置该参数值:
设置为statement格式:
mysql> set global binlog_format=statement;
Query OK, 0 rows affected (0.00 sec)
设置为mixed格式:
mysql> set global binlog_format=mixed;
Query OK, 0 rows affected (0.00 sec)
设置为row格式:
mysql> set global binlog_format=row;
Query OK, 0 rows affected (0.00 sec)
注意:重启MYSQL实例后该设置将失效,永久设置则通过mysql参数文件进行修改。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号