MySQL8集群之MGR的重要参数使用及说明

 更新时间:2026年02月11日 10:01:02   作者:小时候的阳光  
这篇文章主要介绍了MySQL8集群之MGR的重要参数使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

记录一下MySQL8.0.x 官方推荐集群方案MGR,相关的重要参数设置

环境说明

  • 版本 MySQL 8.0.27
  • 一主两从3台服务器做的MGR集群
  • 主要设置 my.cnf中的参数
  • Linux 系统环境

重要参数

MySQL8的全部参数的官方说明文档地址:

https://dev.mysql.com/doc/refman/8.0/en/server-system-variable-reference.html

在安装MySQL,配置MGR集群之前,

请务必重点注意:所有服务器的 hostname 确保不一样 ,如果修改主机名称使用类似如下命令:

sudo hostnamectl set-hostname NEWHOSTNAMEHERE

另外记得修改 /etc/hosts 文件中的内容,将本次所有的主机名称配置对应IP地址,特别注意第1、2两行127.0.0.1的对应关系

127.0.0.1       localhost
127.0.1.1       mgr-node1

192.168.30.222  mgr-master     mgr-master
192.168.30.247  mgr-node1      mgr-node1
192.168.30.248  mgr-node2      mgr-node2

下面列举MGR集群主要关注的几个参数,

参数名称默认数值建议说明
server-id1唯一服务ID,务必确保每一台服务器不一样
port3306客户端 和 服务端口 这两个可以不一样,建议所有服务器上端口一样
admin_port33062管理接口,独立管理通道 防止客户端无法登录 ,通常还需要配置 admin_address 来指定监听的 IP 地址
mysqlx-port33060用于 X 协议(MySQL X Protocol)所使用的 TCP 端口。X 协议是 MySQL 8.0 (以及 5.7.12+) 引入的一种新的、现代化的客户端-服务器通信协议,旨在提供更丰富的功能和更好的性能,特别是在与 MySQL Shell、NoSQL 式访问 和 文档存储 功能结合使用时
disabled_storage_engines需要禁止使用的存储引擎,MGR环境下禁止使用这种存储,一般可设置 MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY
transaction_isolationREPEATABLE-READ事务提交模式,建议使用 READ-COMMITTED
gtid_modeOFFMGR 强制依赖 GTID 进行事务跟踪 必须设置 ON
log_bin & log_slave_updatesOFFMGR 的基础 必须设置为 ON
binlog_formatROWMGR 依赖行格式 必须设置为 ROW
transaction_write_set_extractionXXHASH64MGR 用它来识别事务中修改的行(写入集),用于冲突检测和应用,通常设置为 XXHASH64。必须在所有成员上保持一致
innodb_flush_log_at_trx_commit1控制事务提交时 redo log 如何写入磁盘,强烈建议设置为 1,这保证了事务的 ACID 特性(完全持久化)
sync_binlog1控制 binlog 刷新到磁盘的频率,设置为 1 可确保每个事务提交后 binlog 都被同步到磁盘
group_replication_transaction_size_limit150MB限制MGR中可以接受的事务大小上限,超过此大小的事务将被拒绝
max_allowed_packet64MB定义服务器能够接收的最大网络包大小,建议小于上面参数值
replica_pending_jobs_size_max128MB复制线程可以排队的最大事务大小
innodb_log_file_size512MBInnoDB重做日志文件大小,通常设置为512MB-1GB之间
group_replication_group_name【必填】复制组的唯一标识符。在同一个MySQL集群中的所有节点都必须使用相同的组名
group_replication_start_on_boot【必填】表示MySQL服务器启动时,Group Replication会自动启动并尝试加入复制组
group_replication_bootstrap_group【必填】 这个参数通常在初始化复制组的第一个节点时设置为ON,表示该节点将启动一个新的复制组。一旦组已经启动,其他节点加入时都应将其设置为OFF
group_replication_local_address【必填】当前MySQL实例用于Group Replication通信的本地地址和端口
group_replication_group_seeds【必填】 复制组中至少一个或多个已知成员的地址列表。当一个新节点启动或尝试重新加入组时,它会使用这些地址来发现并连接到复制组的其他成员。这是一个引导列表,不要求列出所有成员
group_replication_ip_allowlist【必填】 定义了允许连接到Group Replication组的IP地址或IP地址范围。这有助于增强安全性,只允许来自指定网络的成员加入组,例如:“127.0.0.1,192.168.30.0/24”
report_host重要: 用于告知MySQL服务器在将信息报告给监控工具,对应performance_schema.replication_group_members 表中MEMBER_HOST的值,如果不配置,则默认取当前主机的hostname作为该字段值

除了以上列出的参数值,一般时间,时区等各节点都需要保证一致性。

另外最重要的是:

你的应用程序中的事务要尽可能的小

例如 DELETE UPDATE 范围数据的时候,需要优化完善之前的程序保证每一次范围尽可能的小!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Mysql如何同时交换两个表的表名详解

    Mysql如何同时交换两个表的表名详解

    这篇文章主要给大家介绍了关于Mysql如何同时交换两个表的表名,以及MySQL命令rename修改表名的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • 关于MySQL报警的一次分析处理详解

    关于MySQL报警的一次分析处理详解

    这篇文章主要给大家介绍了关于MySQL报警的一次分析处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • mysql 8.0.26 安装配置方法图文教程

    mysql 8.0.26 安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.26 安装配置方法图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 关于MySQL Memory存储引擎的相关知识

    关于MySQL Memory存储引擎的相关知识

    这篇文章主要介绍了关于MySQL Memory存储引擎的相关知识,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-11-11
  • MySQL主从复制不一致的原因分析以及解决

    MySQL主从复制不一致的原因分析以及解决

    这篇文章主要介绍了MySQL主从复制不一致的原因分析以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • MySQL与Oracle对比及区别说明

    MySQL与Oracle对比及区别说明

    这篇文章主要介绍了MySQL与Oracle对比及区别说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • MySQL中的临时表与内存表

    MySQL中的临时表与内存表

    这篇文章主要介绍了MySQL中的临时表与内存表,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • mysql ERROR 1045 (28000)问题的解决方法

    mysql ERROR 1045 (28000)问题的解决方法

    这篇文章主要介绍了mysql ERROR 1045 (28000)问题的解决方法,文中步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • MySQL实现字段或字符串拼接的三种方式总结

    MySQL实现字段或字符串拼接的三种方式总结

    这篇文章主要为大家详细介绍了MySQL中实现字段或字符串拼接的三种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-01-01
  • MySQL中Navicat自动备份的实现

    MySQL中Navicat自动备份的实现

    本文主要介绍了MySQL中Navicat自动备份的实现,包括手动备份和自动定时备份,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03

最新评论