MySQL 5.7如何使用GTID方式搭建复制环境

介绍

这篇文章主要为大家展示了“MySQL 5.7如何使用GTID方式搭建复制环境”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL 5.7如何使用GTID方式搭建复制环境”这篇文章吧。

当使用GTIDs(全局事务标识符),每个事务在提交时,都会被标记一个独特的事务号,被用于在备库上应用,这样在搭建复制环境时,不用使用日志文件和日志位置的传统方式搭建,大大简化了复制环境的搭建流程。可以使用语句级别和行级别的复制格式,建议使用行级别的复制格式。

GTID的格式如下
GTID=source_id: transaction_id
source_id代表源服务端,transaction_id代表事务的顺序号。

限制:
因为以GTID为基础的复制时基于事务的,一些特性在复制中会有限制。
不支持非事务性的表,如MyISAM表等。
不支持创建表……选择语句共创表……选择对于语句级别的复制格式不安全。当使用行级别的复制格式时,这个语句在日志中被记录成两个单独的事件,一个是表的创建,另一个是表的插入操作。当这个语句在一个事务中被执行时,在某些情况下这两个事件会被分配相同的事务号,这样第2个执行插入操作的事务可能会被从库跳过。
临时表。在事务内部,GTID复制不支持创建临时表,删除临时表语句。
GTID复制不支持sql_slave_skip_counter参数。如果需要跳过事务,使用主库上的gtid_executed参数。
主库gtid_purged参数包含了所有在主库二进制日志中清除的所有事务。

<强>搭建流程:

编辑主库的配置文件,并重启主库

#日志服务器id=27100
log-bin=production-bin
# log-bin-index=/日志/production-bin。指数

log_slave_updates binlog_format=行
gtid-mode=>以上是“MySQL 5.7如何使用GTID方式搭建复制环境”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

MySQL 5.7如何使用GTID方式搭建复制环境