mysql uuid_你该了解的MySQL集群知识

上篇我们搭建了MySQL的主从集群,现在我们了解下相关知识。

bin_log 介绍

bin_log 即 二进制日志,它记录了数据库的所有操作,并记录在系统磁盘中。它可以用来查看数据库的变更历史,数据库增量备份和回复,MySQL复制(主从复制)。

bin_log 的格式

statement (statement-based replication, SBR) 基于SQL语句的复制优点

①基于段的模式,binlog相对较小,因此产生的日志量小,节省网络传输I/O

②并不要求主从数据库的表结构相同

③相比基于行的模式更为简单

缺点

①基于段的模式,对于非确定性的时间,无法保证主从复制的一致性, 比如UUID, now等函数(因为是执行SQL,那uuid这种函 数相同的可能性基本为0),造成主从复制链路的中断

②对于存储过程,触发器,自定义函数修改也可能造成数据不一致

③相比基于行的复制方式在从节点上执行需要更多的行锁 。 当执行一条批量的SQL,在主库上锁定了一批数据,那么在从节点上 也要锁定相同的一批数据。

row (row-based replication, RBR) 基于行的复制优点

①因为binlog的格式row,所以可以应用于任何SQL的复制,包括非确定函数,存储过程、自定义函数等。因为它同步过去的是 值,举个例子,UUID,从库执行的时候不是重新执行UUID,而是把主库的这个已经生成的值直接同步到从节点上

②可以减少数据库锁的使用

缺点

①要求主从数据库的表结构必须要相同,对于相同的列,即使顺序不同,有可能会引起主从中断

②无法在从节点单独执行触发器,有的时候你只想在从库上执行一些操作,是不行的。 但基于SQL语句的没问题,执行那些变更的SQL就行了,但是基于行的就不行了。

mixed (mixed-based replication, MBR) 混合模式复制

3976a2d4b466d7af89bf38f28bbc837c.png

或者直接修改 /etc/my.cnf

36d0099b726c319860888a906338e713.png

1ee208d2bc25c07a00585a3d78b66649.png

76fb39c8830e1f09a78c0e3f031d699c.png

9c112b3f809f532a3bd0a1c5363fbf4a.png

aaec43199fd9b5ad3b31d4543a2bb44e.png

4392442fb23be12ef8297c674d00d534.png

e891643eda7ec81336002c1c0a748049.png

binlog扩展

当停止或重启服务器时,服务器会把日志文件记入下一个日志文件,Mysql会在重启时生成一个新的日志文件,文件序号递增;此外,如果日志文件超过max_binlog_size(默认值1G)系统变量配置的上限时,也会生成新的日志文件(在这里需要注意的是,如果你正使用大的事务,二进制日志还会超过max_binlog_size,不会生成新的日志文件,事务全写入一个二进制日志中,这种情况主要是为了保证事务的完整性);日志被刷新时,新生成一个日志文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值