Spec-Zone.ru › MySQL 8.4

20.2.2 Развёртывание Group Replication локально

Наиболее распространённый способ развертывания Group Replication — использование нескольких экземпляров серверов для обеспечения высокой доступности. Также возможно локальное развертывание Group Replication, например, для тестирования. В этом разделе объясняется, как развернуть Group Replication локально.

Важно

Group Replication обычно развертывается на нескольких хостах, так как это гарантирует высокую доступность. Инструкции в этом разделе не подходят для производственных развертываний, поскольку все экземпляры MySQL-серверов работают на одном хосте. В случае сбоя этого хоста вся группа выходит из строя. Поэтому эту информацию следует использовать для тестирования и не применять в производственной среде.

В этом разделе объясняется, как создать группу репликации с тремя экземплярами MySQL-сервера на одном физическом компьютере. Это означает, что требуется три каталога данных, по одному для каждого экземпляра сервера, и что каждый экземпляр необходимо настроить независимо. Эта процедура предполагает, что MySQL-сервер был загружен и распакован в каталог под названием mysql-8.4. Каждый экземпляр MySQL-сервера требует отдельного каталога данных. Создайте каталог под названием data, а затем в этом каталоге создайте подкаталог для каждого экземпляра сервера, например, s1, s2 и s3, и инициализируйте каждый из них.

mysql-8.4/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-8.4 --datadir=$PWD/data/s1
mysql-8.4/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-8.4 --datadir=$PWD/data/s2
mysql-8.4/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-8.4 --datadir=$PWD/data/s3

Внутри data/s1, data/s2, data/s3 находится инициализированный каталог данных, содержащий базу данных mysql, связанные таблицы и многое другое. Чтобы узнать больше об процедуре инициализации, см. Раздел 2.9.1 «Инициализация каталога данных».

Предупреждение

Не используйте -initialize-insecure в производственных средах, оно используется только здесь для упрощения учебника. Дополнительную информацию о настройках безопасности см. в Разделе 20.6 «Безопасность Group Replication».

Настройка локальных членов группы репликации

При выполнении Раздела 20.2.1.2 «Настройка экземпляра для Group Replication» необходимо добавить конфигурацию для каталогов данных, добавленных в предыдущем разделе. Например:

[mysqld]

# server configuration
datadir=<full_path_to_data>/data/s1
basedir=<full_path_to_bin>/mysql-8.4/

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, как показано выше.

Остальные шаги из Раздела 20.2.1 «Развёртывание Group Replication в режиме одного первичного сервера» одинаково применяются к группе, которую вы развернули локально таким образом.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/group-replication-deploying-locally.html

Spec-Zone.ru

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