17.2.2 Развёртывание Group Replication локально
Наиболее распространённый способ развертывания Group Replication — использование нескольких экземпляров сервера для обеспечения высокой доступности. Также возможно развернуть Group Replication локально, например, для целей тестирования. В этом разделе объясняется, как развернуть Group Replication локально.
Group Replication обычно развертывается на нескольких хостах, поскольку это гарантирует высокую доступность. Инструкции в этом разделе не подходят для производственных развертываний, поскольку все экземпляры 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, связанные таблицы и многое другое. Чтобы узнать больше о процедуре инициализации, см. Раздел 2.9.1 «Инициализация каталога данных».
Не используйте -initialize-insecure в производственных средах, оно используется здесь только для упрощения учебника. Дополнительную информацию о настройках безопасности см. в Разделе 17.6 «Безопасность Group Replication».
Настройка локальных участников группы репликации
При выполнении Раздела 17.2.1.2 «Настройка экземпляра для Group Replication», вам необходимо добавить настройки для каталогов данных, добавленных в предыдущем разделе. Например:
[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, потому что в этом учебнике три экземпляра сервера используют один и тот же хост. В настройке с тремя разными машинами это не требуется.
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 «Развёртывание Group Replication в режиме единого первичного сервера» применимы и к группе, развернутой локально таким образом.
© 2025 Oracle
Licensed under the GPLv2 License.