10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 36.3 mb
PDF (A4)- 36.3 mb
手册页(TGZ)- 236.9 kb
手册页(Zip)- 348.5 kb
信息(Gzip)- 3.4 mb
信息(邮政编码)- 3.4 mb
本手册节选

17.2.2本地部署组复制

部署Group Replication最常见的方法是使用多个服务器实例,以提供高可用性。也可以在本地部署组复制,例如用于测试目的。本节介绍如何在本地部署组复制。

重要的

组复制通常部署在多台主机上,因为这样可以确保提供高可用性。本节中的说明不适用于生产部署,因为所有MySQL服务器实例都运行在同一台主机上。如果该主机故障,则整个组故障。因此,此信息应用于测试目的,而不应用于生产环境。

本节介绍如何在一台物理机上创建包含三个MySQL Server实例的复制组。这意味着需要三个数据目录,每个服务器实例一个,并且需要独立地配置每个实例。这个过程假设MySQL服务器被下载并解压缩到指定的目录中mysql - 5.7.每个MySQL服务器实例都需要一个特定的数据目录。创建一个名为数据,然后在该目录中为每个服务器实例创建子目录,例如s1、s2和s3,并初始化每个实例。

mysql-5.7/bin/mysqld——initialize-insecure——basedir=$PWD/mysql-5.7——datadir=$PWD/ mysql-5.7——datadir=$PWD/data/s2 mysql-5.7/bin/mysqld——initialize-insecure——basedir=$PWD/mysql-5.7——datadir=$PWD/data/s3

内部数据/ s1数据/ s2s3数据/是一个初始化的数据目录,包含mysql系统数据库和相关表等。要了解有关初始化过程的详细信息,请参见第2.10.1节,初始化数据目录

警告

不要使用-initialize-insecure在生产环境中,这里只使用它来简化教程。有关安全设置的详细信息,请参见第17.6节,“组复制安全”

配置本地组复制成员

当你跟着17.2.1.2节,“配置组复制实例”,您需要为上一节中添加的数据目录添加配置。例如:

[mysqld] # server configuration datadir=/data/s1 basedir=/mysql-8.0/ port=24801 socket=/s1.sock .sock . txt . txt . txt . txt

这些设置将MySQL服务器配置为使用前面创建的数据目录,以及服务器应该打开哪个端口并开始侦听传入的连接。

请注意

之所以使用非默认端口24801,是因为在本教程中,三个服务器实例使用相同的主机名。在三台不同机器的设置中,不需要这样做。

Group Replication要求成员之间有网络连接,这意味着每个成员必须能够解析所有其他成员的网络地址。例如,在本教程中,所有三个实例都运行在一台机器上,因此为了确保成员可以相互联系,您可以在选项文件中添加一行,例如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如上所示。

剩下的步骤第17.2.1节,“在单主模式下部署组复制”同样应用于以这种方式在本地部署的组。