Mysql5.6主从复制
1、特性分析说明:
mysql 5.6支持多线程复制的机制并且mysql 5.6还引用了GTID的概念,使得其复制功能的配置、监控及管理变得更加易于实现,且更加健壮。
TID:事务的ID号:也就是说在mysql复制中每一个事务都有自己的ID号(随机数)
GTID:全局事务ID,在整个事务架构中每一个事务ID号是唯一的,不止是在一个节点上而是整个主从复制架构中每任何两个事务的ID号都不会相同的,这就是全局事务ID。
全局事务ID是怎么生成的?简单来讲是由mysql服务器自动管理的,在mysql5.6以后每一个mysql服务器都有一个全局唯一的ID号叫做uuid,而GTID就是由当前节点的UUID(一个128位的随机数)和为当前节点生成的随机数(TID)组成的,因此只要UUID不同再在此基础上保证事务ID不同就保证全局不一样了。
全局事务ID有何用处?简单来讲GTID能够保证让一个从服务器到其他的从服务器哪里实现数据复制而且能够实现数据整合的。GTID在分布式架构中可以保证数据的一致性。从而也实现了mysql的高可用性。
GTID相关操作:默认情况下将一个事务记录进二进制文件时将首先记录它的GTID而且GTID和事务相关信息一并要发送给从服务器由从服务器在在本地应用认证但是绝对不会改变原来的事务ID号。
因此在GTID的架构上就算有了N层架构,复制是N级架构、事务ID依然不会改变;有效的保证了数据的完整和安全性。
小拓展:
用于提升主从架构效率的第三方工具:
mysqlreplicate:用于实现快速启动从服务器的,就是若原来的主节点A出现故障了原来的从节点B会转换成主节点,而原来的从节点C会转移到主节点B上进行复制但是其中的二进制日志的内容有可能不同,所以这个软件会自己检测那些应用过哪些未应用然后在本地应用最后实现快速启动。
mysqlrplcheck:用来校验mysql主从复制架构中所有节点上数据是否一致、某些节点是否启动二进制日志的等等也就是说在将某个服务器提升为主节点时实现快速检测的功能的
mysqlrplshow:用来显示拓扑架构的,当前服务器中某一个从服务器是一个主服务器还是一个从服务器等等从而实现快速显示。
mysqlfailover:故障转移,快速的将一个从服务器提升为一个主服务器,可以手动提升也可以自动提升,在提升之前尽量先校验一下数据。
mysqlrpladmin:快速一个从服务器切换为主将原来主服务器下线进行维护备份操作。
2、配置基于GTID主从复制:
I、环境介绍:
主节点:[root@node1 ~]:172.16.18.1
从节点:[root@node2 ~]: 172.16.18.2
II、安装mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|