失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql5.6 基于GTID的主从同步与延迟复制

mysql5.6 基于GTID的主从同步与延迟复制

时间:2021-10-19 11:36:01

相关推荐

mysql5.6 基于GTID的主从同步与延迟复制

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模式,主从库都要:

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

主:

[mysqld]binlog-format=ROWlog-bin=master-bin-loglog-slave-updates=truegtid-mode=on----开启gtidenforce-gtid-consistency=true---强制GTID一致性master-info-repository=TABLErelay-log-info-repository=TABLEsync-master-info=1slave-parallel-workers=2---设定从服务器的SQL线程数binlog-checksum=CRC32master-verify-checksum=1slave-sql-verify-checksum=1binlog-rows-query-log_events=1server-id=1

从:

[mysqld]server-id=2log-bin=mysql-binbinlog_format=rowlog-slave-updates=truegtid-mode=onenforce-gtid-consistency=truemaster-info-repository=TABLErelay-log-info-repository=TABLEsync-master-info=1slave-parallel-workers=4binlog-checksum=CRC32master-verify-checksum=1slave-sql-verify-checksum=1binlog-rows-query-log_events=1

重启mysql:

servicemysqldrestart

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

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

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

mysql>grantreplicationslaveon*.*torepl@192.168.52.%identifiedby'123456';mysql>flushprivileges;

4:从库上配置同步。

mysql>changemastertomaster_host='192.168.52.128',master_user='repl',master_password='123456',master_auto_position=1;mysql>slavestart;

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

5:查看效果:

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

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

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

从:

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

复制延迟配置:

mysql>stopslave;mysql>CHANGEMASTERTOMASTER_DELAY=100;-------单位为秒mysql>startslave;mysql>showslavestatus\G;

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

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

如果觉得《mysql5.6 基于GTID的主从同步与延迟复制》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。