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.