浅谈GTID及简单测试
简单介绍一下GTID,并有部分相关实验,技术有限介绍的比较浅显,文中有问题欢迎指正。
GTID相信大家都不陌生,GTID的英文全称为Global Transaction Identifier,在MySQL主从架构中应用广泛。
GTID是由“UUID:事务号“组成的,GTID是基于事务的,在主从架构中,在主库每提交一个事务都会对应生成一个GTID号,GTID支持语句和行格式的复制,而且在主库提交的事务只会在从库应用一次,保证了一致性。
一、下面说一下GTID的优缺点:1、GTID优点:
①复制安全性高,搭建主从相比与传统的(基于binlog和position号)复制要简单;
②GTID在主库是连续的,保证了数据的一致性;
③故障切换时间更短,降低服务故障时间等。
2、GTID缺点:
①主从表存储引擎必须一致,不能一个innodb一个myisam,这样会导致主备数据不一致,因为GTID是和事务之间一一对应的;
②不允许一个sql同时更新事务引擎表和非事务引擎表;
③在主从模式下,需要主库从库同时开启和关闭gtid;
④不支持create table .... as select 语句,在主库会直接报错的;
⑤不支持create/drop temporary table语句;
⑥不支持传统的复制模式,跳过错误的语句(sql_slave_skip_counter)。