MYSQL 基于GTID的复制
1.概述
从MYSQL5.6 开始,mysql开始支持GTID复制。
基于日志点复制的缺点:
从那个二进制日志的偏移量进行增量同步,如果指定错误会造成遗漏或者重复,导致数据不一致。
基于GTID复制:
1.从服务器会告诉主服务器已执行的事务的GTID值。
2.主库会告诉从哪些GTID事务没有被执行。
同一个事务在指定的从库执行一次。
什么是GTID
GTID即全局事务ID,器保证为每一个在主上提交的事务在复制集群中可以生成一个唯一的ID.
GTID=source_id:transaction_id
source_id:是主库的server UUID,在数据目录的auto.cnf 文件中。
transaction_id: 从1开始的一个序列。
2.基于GTID复制的步骤
1.在主DB服务器上建立复制帐号。
和日志点是一样的。
2.配置主数据库服务器
bin_log =mysql-bin
server_id=1001
gtid_mode=on
enforce-gtid-consiste:强制事务一致性,保证事务的安全
不能使用:
1.create table 。。select
2.在事务中使用create temporary table 建立临时表,使用关联更新事务表和非事务表。
log-slave-updates=on
在从服务器中记录从主服务器传过来的日志数据。
使用GTID 5.6 必须使用此参数,5.7可以不使用。
3.配置从服务器。
server_id=1002
relay_log=relay_log
gtid_mode=on
enforce-gtid-consistency
建议配置
read_only=on
保证从服务器数据安全性
master_info_reposistory=TABLE
relay_log_info_reposistory=TABLE
从服务器连接主服务器的信息和中继日志存放咱 master_info,和relay_log中。
4.初始化从服务器数据。
mysqldump --master-data=2 -single-transaction
xtarbackup –slave-info
记录备份时最后的事务GTID值。
导出数据
mysqldump --single-transaction --master-data=2 --triggers -routines --all-databases -uroot -p -P3308 >all2.sql
导入数据
mysql -uroot -p -P3309 < all2.sql
5.启动基于GTID的复制
change master to master-host=’主服务IP’,
master_user=’repl’,
master_password=’password’,
master_auto_position=1
change master to MASTER_HOST='192.168.1.106',
MASTER_PORT=3308,
MASTER_USER='repl',
MASTER_PASSWORD='repl',
master_auto_position=1;
start slave;
show slave status \G;

在启动slave时报错。
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
解决办法:
reset slave;重置slave
再启动 slave
start slave;
测试同步:
1.在主库创建一张表,插入记录。
2.在从库查询验证是否正确,经验证配置正确。
MYSQL 基于GTID的复制的更多相关文章
- Mysql基于GTID复制模式-运维小结 (完整篇)
先来看mysql5.6主从同步操作时遇到的一个报错:mysql> change master to master_host='192.168.10.59',master_user='repli' ...
- 详解MySQL主从复制实战 - 基于GTID的复制
基于GTID的复制 简介 基于GTID的复制是MySQL 5.6后新增的复制方式. GTID (global transaction identifier) 即全局事务ID, 保证了在每个在主库上提交 ...
- Mysql基于GTID主从复制
Mysql5.6基于GTID全局事务的复制 什么是GTID? GTID(Global Transaction Identifiers)是全局事务标识 当使用GTIDS时,在主上提交的每一个事务都会 ...
- MySQL5.7配置基于GTID的复制
MySQL5.7下配置GTID复制的方法: 修改主库和从库的配置文件,加入下列部分的配置项:主库:[mysqld]log-bin=mysql-binbinlog_format= ROWgtid-mod ...
- MySQL 使用GTID进行复制
MySQL 使用GTID进行复制 1. GTID的格式和存储 1.1 GTID 集 1.2 mysql.gtid_executed 表 1.3 mysql.gtid_executed 表压缩 2. G ...
- MySQL 基于 GTID 主从架构添加新 Slave 的过程
内容全部来自: How to create/restore a slave using GTID replication in MySQL 5.6 需求说明 需求: 对于已经存在的 MySQL 主从架 ...
- Mysql基于GTIDs的复制
通过GTIDs[global transaction identifiers],可以标识每一个事务,并且可以在其一旦提交追踪并应用于任何一个Slave上:这样 就不需要像BinaryLog复制依赖Lo ...
- MySQL基于GTID的组复制(MGR)
环境准备 IP 主机名 操作系统 192.168.131.129 mgr-node1 CentOS7.6 192.168.131.130 mgr-node2 CentOS7.6 192.168.131 ...
- Mysql 基于GTID的主从复制(实操)
实现环境: Master 主:192.168.0.102 (Mysql 5.6.36) Slave 从 :192.168.0.103 (Mysql 5.6.36) 步骤1.在主DB服务器上建立复制账 ...
随机推荐
- 《30天自制操作系统》13_day_学习笔记
harib10a: 简化字符串的显示:我们发现字符串显示三条语句总是重复出现,并且总是一起出现的.接下来我们把它归纳到一个函数中,这样便于使用. x,y--位置的坐标 c--字符颜色 (col ...
- jQuery文字特效制作文字鼠标滑过多彩色变色显示
<!DOCTYPE html><head> <meta http-equiv="Content-Type" content="text/ht ...
- 扩大Tomcat内存
在Eclipse里选:Window->Preference->Installed JREs->Edit(选中jre),在Default VM Arguments里输入-Xms256m ...
- TypeError: unsupported operand type(s) for |: 'str' and 'str'
问题描述:
- JAVA设计模式——单例模式
单例模式的定义: Ensure a class has only one instance, and provide a global point of access to it.( 确保某一个类只有 ...
- Python—模块
一.模块 模块,是用一堆代码实现了某个功能的代码集合,模块分为三种:自定义模块(自己定义).内置模块(python自带).开源模块 导入模块 (1).导入一个py文件,解释器解释该py文件 (2).导 ...
- 监控流量shell脚本
# vi /etc/rc.d/traffic_monitor.sh---------------------------------------------- #!/bin/bash PATH=/bi ...
- 在用busybox制作系统过程中遇到的问题
遇到的问题: 1.开机报错: 在做完整个系统之后重启出现了这个报错 VFS: Cannot open root device "sda2" or unknown-block(0,0 ...
- IPV6
(一) iOS 9.0.OS X 10.11 以上的系统 在IPv6的环境下 是支持IP地址访问网络的.所以大家测试机如果是 iOS9.0以上的系统,可以直接通过IP访问.这是因为iOS 9.0之后 ...
- ubuntu14.04 64bit安装teamviewer
1.下载teamviewer,链接如下: http://downloadus2.teamviewer.com/download/version_10x/teamviewer_10.0.36281_i3 ...