Spec-Zone.ru › MySQL 9.2

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

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

Важно

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

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

mysql-9.2/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-9.2 --datadir=$PWD/data/s1
mysql-9.2/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-9.2 --datadir=$PWD/data/s2
mysql-9.2/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-9.2 --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-9.2/

port=24801
socket=<full_path_to_sock_dir>/s1.sock

Эти настройки настраивают MySQL Server для использования ранее созданного каталога данных и того порта, на котором сервер должен открыться и начать прослушивание входящих подключений.

Примечание

Используется нестандартный порт 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-9.2-en/group-replication-deploying-locally.html

Spec-Zone.ru

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