GTID相关:

在mysql5.6之前,mysql主从复制是slave通过配置master的binlog位置实现的,且每一个slave自身的binlog却不同。而在mysql5.6版本后引入了GTID(全局事务标识符),这个值在master生成,slave只要在开启主从复制时指定master的用户,密码,就可获取master的GTID实现同步,而无需再每次去查看master的binlog位置,大大方便了主从同步的配置。GTID的唯一性强化了数据的主备一致性,故障恢复,以及容错能力。

延迟复制相关:

在之前的博客中介绍过mysql的延迟复制,当时是基于第三方工具percona-toolkit实现的。在mysql5.6版本后,mysql自带了延迟复制的功能,且配置十分简单。

实验环境:

主库:192.168.52.128:3306

从库:192.168.52.135:3306

配置GTID复制:

1:安装mysql(不赘述)

2:开启GTID模式,主从库都要:

在my.cnf配置文件中加入binlog以及gtid相关配置,并重启mysql。

主:

[mysqld]
binlog-format=ROW
log-bin=master-bin-log
log-slave-updates=true
gtid-mode=on                ----开启gtid
enforce-gtid-consistency=true       ---强制GTID一致性
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2          ---设定从服务器的SQL线程数
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=1

从:

[mysqld]
server-id = 2
log-bin=mysql-bin
binlog_format=row
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=4
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1

重启mysql:

service mysqld restart

查看主库及丛库的gtid是否开启:

这时主库上会分配一个gtid号:

3:在主库上创建复制所需的账户:

mysql>grant replication slave on *.* to repl@192.168.52.% identified by '123456';
mysql>flush privileges;

4:从库上配置同步。

mysql>change master to master_host='192.168.52.128',master_user='repl',master_password='123456',master_auto_position=1;
mysql>slave start;

可以看到这里不用去主库查找binlog与相关的位置信息,直接使用master_auto_position=1,mysql会自动查找同步的位置

5:查看效果:

可以看到同步已经正常进行中,同步位置为7。

进行一些操作,验证同步效果:

主:创建一个实例,并新建一张表,插入一些数据

从:

同步正常,使用show slave stautus\G查看同步状态,可以看到同步位置执行到了10;

复制延迟配置:

mysql>stop slave;
mysql>CHANGE MASTER TO MASTER_DELAY = 100;         -------单位为秒
mysql>start slave;
mysql>show slave status \G;

SQL_Delay:字段变为100,表示此时从库与主库的同步开始有了100秒的固定延迟。

SQL_Remaining_Delay:当主库有了新的操作,该字段会进入倒计时,从配置的延迟时间(这里为100)开始。正常情况下为NULL。

mysql5.6,基于GTID的主从同步与延迟复制相关推荐

  1. 配置MySQL5.7基于GTID的复制

    配置MySQL5.7基于GTID的复制 一.       安装前规划 1.1   大体架构规划如下 master 192.168.9.71:3306 Slave 192.168.9.72:3306 数 ...

  2. mysql gtid 主从_基于GTID搭建主从MySQL

    基于gtid搭建主从MySQL 一.GTID的使用 想让主从之间使用gtid的方式同步数据,需要我们在配置文件中开启mysql对gtid相关的配置信息 找到my.cnf ,在mysqld模块中加入如下 ...

  3. MySQL5.7 - 基于GTID复制模式搭建主从复制

    环境: MySQL5.7.24版本 CentOS release 6.5 注意: MySQL5.7版本Slave可以不开启binlog了,可以节省这部分的磁盘I/O消耗,而MySQL5.6版本必须开启 ...

  4. PostgreSQL13主从同步异步流复制

    PostgreSQL13主从同步异步流复制 介绍 PostgreSQL早在9.0版本开始支持物理复制,也可称为流复制( Streaming Replication,通过流复制技术,可以从实例级复制出一 ...

  5. MySQL5.6基于GTID同步复制,与如何实现MySQL负载均衡、读写分离。

    MySQL想必大家都不陌生,之前文章也有介绍同步复制与半同步复制,今天先来了解下什么是GTID. GTID(global transaction ID)全局事务ID,是由服务器的UUID+一段随机数事 ...

  6. mysql主从复制、基于GTID的主从、半同步

    使用的mysql版本5.7.17 一.主从复制 原理: 主从复制一共有三个进程,从库生成两个线程,一个I/O线程,一个SQL线程: i/o线程去请求主库的binlog,并将得到的binlog日志写到r ...

  7. mysql主从同步默认延迟_减少mysql主从数据同步延迟问题的详解

    基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了.如果延迟比较大,就先确认以下几个因素: 1. 网络延迟 2. master负载 3. slave负载 一般的做法是 ...

  8. Mysql主从同步-Slave延迟状态监控

    监控主从同步延迟,同步延迟的检查工作主要从下面两方面着手: 1.一般的做法就是根据Seconds_Behind_Master的值来判断slave的延迟状态. 可以通过监控show slave stat ...

  9. 基于GTID Replication主从数据不一致操作

    基本的M-S结构 现在master与slave主机数据一致: mysql> select * from t1; +------+ | id   | +------+ |    1 | |    ...

最新文章

  1. wavelet tutorial
  2. python的pandas方法_python使用Pandas处理数据的方法
  3. 用python做炒股软件-python程序源码_基于python的炒股软件
  4. 【倾情奉献】遥感物候研究:30年长时间序列遥感数据集GIMMS 3g NDVI产品预处理完整步骤
  5. Java Agent的隔离实现以及卸载时一些坑
  6. stylus之内置方法(Built-in Functions)
  7. Python--tkinter迷你天气预报软件(11.8)
  8. python selenium --一些常用方法
  9. ASP.NET 2.0 数据绑定高级技巧
  10. Java运算符及录入
  11. Android(java)学习笔记97:使用GridView以及重写BaseAdapter
  12. NESTEROV ACCELERATED GRADIENT AND SCALE INVARIANCE FOR ADVERSARIAL ATTACKS论文解读
  13. 微信小程序tabBar创建
  14. avr 74hc595驱动数码管动态显示c语言例程,一种电梯钢丝绳张力计控制系统软件的设计...
  15. 有关C语言中指针与对象的个人愚见
  16. android手机投影电视软件,Type-C手机投屏电视/投影仪超简单,快看你的可以吗?...
  17. 什么是大数据?2022大数据时代
  18. 中大近代物理实验实验报告(LaTeX实现)
  19. 珠海沙龙PPT已上传!
  20. Android 电话系统框架介绍

热门文章

  1. 60秒计时器的仿真电路_物联网应用基于Arm微控制器的低功耗定时关机计时器
  2. RedisTemplate方法的一些简单运用
  3. linux进程打开链接数,Linux 进程打开最大文件连接数Too many open files
  4. tensorflow对应的python版本_详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
  5. 微信小程序发送验证码60秒倒计时
  6. java占位符填充_实现java中的占位符
  7. unity开宝箱动画_unity简单动画实现
  8. java 环境配置 mac_Java:配置环境(Mac)——JDK
  9. Spring学习5之自动装配Bean01
  10. 改善程序的55个具体做法