文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MYSQL架构中该怎么主从GTID

2024-04-02 19:55

关注

这期内容当中小编将会给大家带来有关MYSQL架构中该怎么主从GTID,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

GTID又叫全局事务ID(Global Transaction ID),是一个已提交事务的编号,并且是一个全局唯一的编号,Mysql 5.6版本之后在主从复制类型上新增了GTID复制。

GTID是由server_uuid和事务ID组成的。即GUID=server_id:transaction_id.server_uuid是在数据库启动过程中自动生成的。每台机器的server_uuid不一样,同一环境删除重新搭建之后也不一样。

工作原理:

1.      master更新数据时,会在事务前产生GTID,一同记录到binlog日志中。

2.      slave端的I/O线程将变更的binlog,写入到本地的relay log中。

3.      sql线程从relay log中获取GTID,然后对比slave端的binlog是否有记录。

4.      如果有记录,说明该GTID的事务已经执行,slave会忽略。

5.      如果没有记录,slave就会从relay log中执行该GTID的事务,并记录到binlog.

环境配置

/

主服务器

从服务器

Ip

192.168.31.79

192.168.31.188

hostname

mysql

mysql2

mysql-version

5.7.23

5.7.23

Server-id

f99accbf-6690-11ea-a934-080027c1c1ff

a535303f-668e-11ea-8be9-080027b0e953

1.主库配置

1.1参数配置

[root@mysql2 bin]# vi /etc/my.cnf

添加内容如下

gtid_mode=on

enforce_gtid_consistency=on

log_bin=on

binlog_format=row

server-id=79

[root@mysql2 bin]# service mysql stop

[root@mysql2 bin]# service mysql stop

1.2权限配置

[root@mysql bin]# mysql -uroot -p

mysql> grant replication slave on *.* to 'rep'@'192.168.31.%' identified by 'Oracle123';

mysql> flush privileges;

2.主库备份数据至从库恢复

注:如果是新搭建的环境,可以不用做迁移步骤。

3.从库配置

2.1 从库参数配置

[root@mysql2 bin]# vi /etc/my.cnf

添加内容如下

gtid_mode=on

enforce_gtid_consistency=on

log_slave_updates=1

serve-id=188

2.2从库权限配置

[root@mysql2 bin]# mysql -uroot -p

mysql> change master to master_host='192.168.31.79', master_user='rep',master_password='Oracle123',master_port=3306,master_auto_position=1;

mysql> start slave;

3.检查主从状态

1)主库

mysql> show master status;

 MYSQL架构中该怎么主从GTID

2)从库

mysql> show slave status\G;

 MYSQL架构中该怎么主从GTID

MYSQL架构中该怎么主从GTID

4.验证

1)主库

mysql> create database test;

2)从库

mysql> show databases;

MYSQL架构中该怎么主从GTID

注:

在mysql 5.7版本之后,gtid_executed数值会被持久化

mysql> use mysql

mysql> desc gtid_executed;

mysql> select * from gtid_executed;

MYSQL架构中该怎么主从GTID

在执行reset master中,会清空表内的数据。

 mysql> show variables like '%gtid_executed%';

该参数用来控制gtid_executed表的压缩。默认值是1000.意味着表压缩在执行1000个

事务之后开始。

上述就是小编为大家分享的MYSQL架构中该怎么主从GTID了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯