MySQL优化之七--Mysql基于GTID的主从复制
1、什么是GTID
GTID(Global Transaction Identifiers)是全局事务标识
当使用GTIDS时,在主上提交的每一个事务都会被识别和跟踪,并且运用到所有从MySQL,而且配置主从或者主从切换时不再需要指定 master_log_files和master_log_pos;由于GTID-base复制是完全基于事务的,所以能很简单的决定主从复制的一致性;官方建议Binlog采用Row格式。
2、GTID的表示方式
source_id:transaction_id
source_id:表示执行事务的主库的UUID(server_uuid:Mysql5.6的data目录下启动时会生成auto.cnf文件记录了uuid,重启后uuid不变,删除文件后会重新生成新的uuid);
transaction_id:是一个从1开始自增的计数,表示在这个主库上执行的第n个事务;
由于每台Mysql的uuid是全球唯一的,transaction_id自身唯一,就保证了GTID全局唯一性
mysql> show variables like ‘server_uuid’;
+—————+————————————–+
| Variable_name | Value |
+—————+————————————–+
| server_uuid | 4468c0e8-ef6f-11e3-9c2c-0200c0a80ad8 |
+—————+————————————–+
1 row in set (0.00 sec)
3、基于GTID的复制配置
- 主服务器配置 /etc/my.cnf
- 从服务器配置 /etc/my.cnf
relad_log后的目录必须存在,并且有权限 - 备份主服务器数据库,到从服务器中写入
如果导入时报错:
GTID_PURGED can only be set when GTID_EXECUTED is empty.
在从服务器中使用reset master命令即可
- 在主服务器上建立复制用户,并授权
mysql>grant replication slave,replication client on *.* to repluser@'192.168.1.%'identified by 'replpass';
mysql>flush privileges;
- 从库连接主库
mysql>change master to master_host='192.168.1.20', master_user='repluser',< 7ff7 /span>master_password='replpass', master_auto_position=1;
mysql>start slave;
- 查看连接情况
红框选中的两项都为YES,表示链接成功!
4、GTID优缺点
优点:
1、可以很方便的进行故障转移
2、从库不会丢失主库上的任何修改
缺点:
1、故障处理复杂
2、对执行的SQL有限制
不支持myisam,可能导致多个gtid分配给同一个事物
不支持:create table .. select;create /drop temporary table
5、复制方式的选择
主要考虑一下问题:
- 所使用的Mysql版本
建议5.7版本以上使用GTID复制方式 - 复制架构及主从切换的方式
MM架构只支持基于日志点方式
MHA架构GTID和基于日志点方式都支持 - 所使用的高可用组件
- 对应用的支持程度
- mysql 5.6复制新特性下主从复制配置[基于GTID]
- MySQL主从复制之基于GTID及多线程
- Mysql-5.6基于GTID主从复制
- mysql之 MySQL 主从基于 GTID 复制原理概述
- 详解MySQL主从复制实战 - 基于GTID的复制
- 红帽6.4 64位上实现mysql5.6的主从复制、基于GTID复制、半同步、ssl加密复制以及读写分离 推荐
- MySQL 5.6 基于GTID 进行主从复制
- MySQL5.6基于GTID的主从复制
- Mysql基于GTID主从复制
- MySQL基于GTID的主从复制
- mysql主从复制配置(基于GTID)
- mysql主从复制--mysql-5.6基于GTID及多线程复制
- mysql基于GTID的主从复制
- MySQL 5.6 基于GTID 进行主从复制
- 基于Gtid的mysql主从复制 和 mysql-proxy 读写分离
- mysql5.6基于GTID的主从复制
- mysql5.6基于GTID主从复制设置
- mysql主从复制,基于gtid的主从,半同步复制
- 基于Gtid的mysql主从复制 和 mysql-proxy 读写分离 - linux_夏日 - 51CTO技术博客
- 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)