部署组复制的最常见方法是使用多个服务器实例,以提供高可用性。也可以在本地部署组复制,例如出于测试目的。
组复制通常部署在多个主机上,因为这样可以确保提供高可用性。本地部署不适用于生产环境,因为所有MySQL服务器实例都在同一台主机上运行。如果该主机发生故障,则整个组都将失败。因此,此应用于测试目的,不应在生产环境中使用。
本节说明如何在一台物理计算机上使用三个MySQL Server实例创建复制组。这意味着需要三个数据目录,每个服务器实例一个,并且您需要独立配置每个实例。此过程假定已下载MySQL Server并将其解压缩到名为的目录中
mysql-5.7。每个MySQL服务器实例都需要一个特定的数据目录。创建一个名为的目录
data,然后在该目录中为每个服务器实例(例如s1,s2和s3)创建一个子目录,并初始化每个目录。
mysql-5.7/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s1 mysql-5.7/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s2 mysql-5.7/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s3
里面
data/s1,
data/s2,
data/s3是一个初始化的数据目录,包含了MySQL系统数据库和相关表等等。
不要
-initialize-insecure在生产环境中使用,仅在此处用于简化教程。
本地组复制成员的配置
例如:
[mysqld] # server configuration datadir=<full_path_to_data>/data/s1 basedir=<full_path_to_bin>/mysql-8.0/ port=24801 socket=<full_path_to_sock_dir>/s1.sock
这些设置将MySQL服务器配置为使用先前创建的数据目录,以及服务器应打开哪个端口并开始监听传入的连接。
使用非默认端口24801,因为在本教程中,三个服务器实例使用相同的主机名。在具有三台不同机器的设置中,将不需要这样做。
组复制需要成员之间的网络连接,这意味着每个成员都必须能够解析所有其他成员的网络地址。例如,在本教程中,所有三个实例都在一台计算机上运行,因此,为确保成员可以相互联系,您可以在选项文件中添加一行,例如 report_host=127.0.0.1。
然后,每个成员都需要能够连接到其上的其他成员 group_replication_local_address。例如,在成员s1的选项文件中添加:
group_replication_local_address= "127.0.0.1:24901" group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
这会将s1配置为使用端口24901与种子成员进行内部组通信。对于要添加到组中的每个服务器实例,请在成员的选项文件中进行这些更改。对于每个成员,您必须确保指定了唯一的地址,因此请为的每个实例使用唯一的端口 group_replication_local_address。通常,您希望所有成员都能充当加入该组且尚未得到该组处理的交易的成员的种子。在这种情况下,将所有端口添加到 group_replication_group_seeds 上图所示。
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- MySQL:Innodb如何快速杀掉堵塞会话的思考
MySQL:Innodb如何快速杀掉堵塞会话的思考
26-03-01 - MySQL:乱码问题处理流程
MySQL:乱码问题处理流程
26-03-01 - 我身边的高T,问了Java面试者这样的问题......
我身边的高T,问了Java面试者这样的问题......
26-03-01 - MySQL:MySQL工具以及5.7mysqlbinlog|mysql速度极慢问题
- MySQL:Analyze table导致'waiting for table flush'
- 抖音如何在线快速去除视频水印?
抖音如何在线快速去除视频水印?
26-03-01 - 抖音一键在线去除短视频水印方法
抖音一键在线去除短视频水印方法
26-03-01 - MySQL:MySQL客户端缓存结果导致OOM
MySQL:MySQL客户端缓存结果导致OOM
26-03-01 - 快手一键在线去除短视频水印方法
快手一键在线去除短视频水印方法
26-03-01 - 对于网校系统源码,你了解多少?
对于网校系统源码,你了解多少?
26-03-01
