MySQL Replication--GTID基础
======================================
TID(Trasaction ID)
TID代表实例上已经提交的事务数量,并随着事务提交递增
UUID代表MYSQL实例的唯一表示
GTID(Global Trasaction ID)
GTID由MYSQL实例的UUID+已提交事务的TID组成,代表一个全局唯一的编号。
GTID的出现用来解决复制中一个事务在多个节点的binlog文件和位置不一样的问题,当主库发生故障切换后,复制的备库需要与新主库进行关联,使用master_log_file和master_log_pos来重新配置从库变得复杂困难,而基于GTID复制,备库无需关心GTID的位置,直接使用下面语句即可用轻松完成主库切换后的从库配置。:
CHANGE MASTER TO MASTER_HOST='xxx', MASTER_AUTO_POSITION
在MySQL 5.6版本中引入GTID,使用gtid_mode参数来开启或关闭GTID特性,但在MySQL 5.7版本中引入 Anonymous_Gtid的二进制日志event类型,即使在MySQL 5.7版本中停用GTID特性,也会在事务开始前创建一个Anonymous_Gtid。
======================================
使用GTID限制
1、无法使用SQL_SKIP_SLAVE_COUNTER命令跳过错误
2、无法搭建GTID模式实例和非GTID模式实例之间的复制。
3、不支持非事务型存储引擎如MYISAM
4、不支持CREATE TABLE SELECT 语句
5、不支持CREATE/DROP TEMPORARY TEBALE 操作
在MySQL 5.6版本中,gtid_mode参数全局只读,修改该参数需要重启实例。
在MySQL 5.7版本中,可以在线开启GTID模式,直达连接:http://dev.mysql.com/doc/refman/5.7/en/replication-mode-change-online-enable-gtids.html。
======================================
多线程复制:
1>exec_master_log_pos对复制不在有效,可以使用executed_gtid_set来查看复制进度
2>SQL_SLAVE_SKIP_COUNTER 无法使用
3>不支持START SLAVE UNTIL命令
4>slave_transaction_retries 参数被当做0来处理
======================================
GTID复制延迟监控
只有当网络正常且Master端随时有数据更新的的情况下,才可以使用seconds_behind_master来评估主从库之间的复制延迟。
======================================
MySQL Replication--GTID基础的更多相关文章
- 浅析 MySQL Replication(本文转自网络,非本人所写)
作者:卢飞 来源:DoDBA(mysqlcode) 0.导读 本文几乎涵盖了MySQL Replication(主从复制)的大部分知识点,包括Replication原理.binlog format.复 ...
- 深入解析MySQL replication协议
Why 最开始的时候,go-mysql只是简单的抽象mixer的代码,提供一个基本的mysql driver以及proxy framework,但做到后面,笔者突然觉得,既然研究了这么久mysql c ...
- 浅析 MySQL Replication(转)
目前很多公司中的生产环境中都使用了MySQL Replication ,也叫 MySQL 复制,搭建配置方便等很多特性让 MySQL Replication 的应用很广泛,我们曾经使用过一主拖20多个 ...
- 浅析 MySQL Replication(本文转自网络)
作者:卢飞 来源:DoDBA(mysqlcode) 0.导读 本文几乎涵盖了MySQL Replication(主从复制)的大部分知识点,包括Replication原理.binlog format.复 ...
- MySQL Replication 主从复制全方位解决方案
1.1 主从复制基础概念 在了解主从复制之前必须要了解的就是数据库的二进制日志(binlog),主从复制架构大多基于二进制日志进行,二进制日志相关信息参考:http://www.cnblogs.com ...
- MySQL基于GTIDs的MySQL Replication
MySQL M-S GTID 基于GTIDs的MySQL Replication 什么是GTIDs以及有什么特定? 1.GTIDs(Global transaction identifiers)全局事 ...
- Mysql基于GTID复制模式-运维小结 (完整篇)
先来看mysql5.6主从同步操作时遇到的一个报错:mysql> change master to master_host='192.168.10.59',master_user='repli' ...
- (转)总结之:CentOS 6.5 MySQL数据库的基础以及深入详解
总结之:CentOS 6.5 MySQL数据库的基础以及深入详解 原文:http://tanxw.blog.51cto.com/4309543/1395539 前言 早期MySQL AB公司在2009 ...
- mysql开启GTID跳过错误的方法【转】
1.数据库版本 MySQL> select version() -> ;+-------------------------------------------+| version( ...
- MySQL 基于 GTID 主从架构添加新 Slave 的过程
内容全部来自: How to create/restore a slave using GTID replication in MySQL 5.6 需求说明 需求: 对于已经存在的 MySQL 主从架 ...
随机推荐
- 一: Docker的概念
附件:https://files.cnblogs.com/files/chaos-li/docker-k8s-devops-master-9287a2ca56433ca076078b564de9488 ...
- python 最小二乘拟合,反卷积,卡方检验
import numpy as np # from enthought.mayavi import mlab ''' ogrid[-1:5:6j,-1:5:6j] [array([[-1. ], [ ...
- Dell灵越 5559笔记本安装固态硬盘 BIOS设置
固态硬盘的安装这里就不详细说明了,安装一共有两种 直接把原有的磁盘卸了,换成SSD(这种方法最简单) 另一种是把光驱卸掉,然后换上SSD(这里建议把原来的磁盘换到光驱里面,把SSD加到原来磁盘安装的位 ...
- tfs 2017 使用
安装完成之后,创建一个项目管理. 初始化代码库 然后下载代理 (服务器)并设置.下载代理需要FQ才可以下载成功. 想要支持 netcore2.0 必须在代理服务器上安装 vs2017 跟netcor ...
- 1.5 socket服务器传输文件
socket服务器代码 # -*- coding: utf-8 -*-import sys,os,time,_thread from socket import * host = 'localhost ...
- EffecJava Method
坚持使用Overrider注解,可以预防我们并没有重载的情况出现. 除非使用者绝对安全,不然使用保护性拷贝,可以使程序安全. public class Period {//没有拷贝安全 private ...
- 2019-03-26-day019-面向对象耦合与组合
作业 #对象的耦合 class Circle: def __init__(self,r): self.r = r def area(self): return 3.14*self.r**2 def p ...
- CRM工具简介
pacemaker是高可用集群中的CRM(Cluster Resource Manager)资源管理层,他是一个服务,可以作为一个单独的服务启动,不过在如果使用corosync1.4中,我们可以设置c ...
- VTP管理交换机的VLAN配置
实验要求:将Switch1设置为VTPserver.Switch2设置为VTPtransparent.Swtich3和4设置为VTPclient 拓扑如下: 涉及内容: 1.VTP的创建 2.VTP的 ...
- XML Schema——笔记整理
什么是 XML Schema? 定义可出现在文档中的元素 定义可出现在文档中的属性 定义哪个元素是子元素 定义子元素的次序 定义子元素的数目 定义元素是否为空,或者是否可包含文本 定义元素和属性的数据 ...