MySQL学习笔记:GTID
来源:互联网 发布:网络零售的特点与模式 编辑:程序博客网 时间:2024/05/01 22:49
GTID简介
- MySQL 5.6以上版本
- 全局事务标识符(Global Transaction Identifiers,简称GTID),每个事务都有一个唯一的标识符
- 服务器按照事务提交的顺序,为每一个事务分配一个64位的非零数值,这个值为local类型,其他服务器可以给自己的事务分配相同的值
- 唯一性:加上服务器的UUID后,可变为全局唯一。例如:7a07cd08-ac1b-11e2-9fcf-0010184e9e08:1477
- GTID组:7a07cd08-ac1b-11e2-9fcf-0010184e9e08:1477-1593
- GTID只会分配给已经写入binlog的事务,因此,如果关闭了binlog,事务就不会被分配GTID了
GTID配置复制
- 配置文件启用GTID,修改如下:
...#必须开启binloglog-bin = master-binlon-bin-index = master-bin.index...#开启GTIDgtid-mode = ONlog-slave-updatesenforce-gtid-consistency...
- 重启服务器,生效配置
- 切换Master语句:
CHANGE MASTER TOMASTER_HOST = host_of_new_master,MASTER_PORT = port_of_new_master,MASTER_USER = replication_user_name,MASTER_PASSWORD = replication_user_password,MASTER_AUTO_POSITION = 1
- MASTER_AUTO_POSITION 保证slave在连接master后,自动与master协商应该发送什么事务
- 可以使用SHOW SLAVE STATUS查看复制的GTID位置
使用GTID选主
- 如果slave比备用master滞后,可以使用CHANG MASTER TO进行failover
- 如果slave比备用master新,则需要备用master作为slave的slave进行事务同步后,再执行CHANG MASTER TO
- 如果是一主多从,则通过比较GTID_EXECUTED来确定newest slave,再对其他slave执行CHANG MASTER TO
GTID在服务器之间的复制
GTID事件处理:
- 如果GTID已经在GTID_EXECUTED中,则跳过该事务
- 否则,GTID分配给下一个事务继续执行
- 如果事务提交,事务的GTID就用来产生新的GTID事件,这个事件在事务之前写入binlog
- GTID事件之后,事务缓存的内容被写入binlog
通过GTID_NEXT生成GTID(一般为AUTOMATIC)
- 使用GTID_OWNED查看GTID的拥有者(属于哪个session)
Other
- 可以使用mysqlfailover工具进行启用了GTID的故障转移,简单高效
0 0
- MySQL学习笔记:GTID
- MySQL GTID简单笔记
- MySQL GTID
- mysql uuid以及gtid
- mysql GTID主从复制
- Mysql GTID主从复制
- Mysql GTID Mha配置
- mysql gtid rpm安装
- mysql GTID Replication
- mysql GTID Replication
- Mysql GTID 模式详解
- MySQL GTID使用小结
- MySQL 5.6 GTID+MHA
- MySQL之GTID简介
- MySQL-5.6配置文件(GTID)
- MySQL之GTID简介
- mysql gtid复制
- MySQL PXC GTID
- windows下编程创建目录快捷方式
- 在Ubuntu上,使用SWT嵌入AWT/SWING代码导致Eclipse崩溃问题
- jsp获得file属性
- python第三方库的安装=>LTS
- EditText (编辑文件对象)的各种属性
- MySQL学习笔记:GTID
- org.eclipse.equinox.internal.p2.engine.phases.CheckTrust phase问题
- matlab导出jar包
- Partition List
- 虚拟机vritualBox 下ubuntu14.04设置静态ip地址
- C++补码与原码
- git 撤销操作
- webView 的使用
- hdoj 3183 A Magic Lamp 【RMQ区间取数】