Spec-Zone.ru › MySQL 5.7

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.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/group-replication-deploying-locally.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API