21.7.5 Подготовка NDB кластера для репликации
Подготовка NDB кластера для репликации состоит из следующих шагов:
Проверьте совместимость версий всех серверов MySQL (см. Раздел 21.7.2, «Общие требования к репликации NDB Cluster»).
-
Создайте учетную запись репликации на исходном кластере с соответствующими привилегиями, используя следующие два SQL-запроса:
mysql
S>CREATE USER '->replica_user'@'replica_host'IDENTIFIED BY 'mysqlreplica_password';S>GRANT REPLICATION SLAVE ON *.*->TO 'replica_user'@'replica_host';В предыдущем запросе
replica_user— имя пользователя учетной записи репликации,replica_host— имя хоста или IP-адрес реплики, аreplica_password— пароль для этой учетной записи.Например, чтобы создать учетную запись пользователя реплики с именем
myreplica, подключение с хостаreplica-hostи паролем53cr37, используйте следующиеCREATE USERиGRANTзапросы:mysql
S>CREATE USER 'myreplica'@'replica-host'->IDENTIFIED BY '53cr37';mysqlS>GRANT REPLICATION SLAVE ON *.*->TO 'myreplica'@'replica-host';По соображениям безопасности рекомендуется использовать уникальную учетную запись — не используемую для других целей — для учетной записи репликации.
-
Настройте реплику для использования источника. Используя клиент mysql, это можно сделать с помощью следующего
CHANGE MASTER TOзапроса:mysql
R>CHANGE MASTER TO->MASTER_HOST='->source_host',MASTER_PORT=->source_port,MASTER_USER='->replica_user',MASTER_PASSWORD='replica_password';В предыдущем запросе
source_host— имя хоста или IP-адрес источника репликации,source_port— порт, используемый репликой при подключении к источнику,replica_user— имя пользователя, настроенное для реплики на источнике, аreplica_password— пароль, заданный для этой учетной записи на предыдущем шаге.Например, чтобы указать реплике использовать MySQL-сервер с именем хоста
rep-sourceс учетной записью репликации, созданной на предыдущем шаге, используйте следующий запрос:mysql
R>CHANGE MASTER TO->MASTER_HOST='rep-source',->MASTER_PORT=3306,->MASTER_USER='myreplica',->MASTER_PASSWORD='53cr37';Полный список опций, которые можно использовать с этим запросом, см. в Разделе 13.4.2.1, «Запрос CHANGE MASTER TO».
Для обеспечения возможности резервного копирования репликации также необходимо добавить опцию
--ndb-connectstringв файл конфигурацииmy.cnfреплики перед запуском процесса репликации. Подробности см. в Разделе 21.7.9, «Резервное копирование NDB Cluster с репликацией NDB Cluster».Дополнительные параметры, которые можно задать в файле конфигурации
my.cnfдля реплик, см. в Разделе 16.1.6, «Параметры и переменные репликации и двоичного логгирования». -
Если исходный кластер уже используется, можно создать резервную копию источника и загрузить её на реплику, чтобы сократить время синхронизации реплики с источником. Если реплика также работает с NDB Cluster, это можно сделать, используя процедуру резервного копирования и восстановления, описанную в Разделе 21.7.9, «Резервное копирование NDB Cluster с репликацией NDB Cluster».
ndb-connectstring=
management_host[:port]В случае, если вы не используете NDB Cluster на реплике, вы можете создать резервную копию с помощью этой команды на источнике:
shell
S>mysqldump --master-data=1Затем импортируйте полученные данные в реплику, скопировав файл дампа на неё. После этого вы можете использовать клиент mysql для импорта данных из файла дампа в базу данных реплики, как показано здесь, где
dump_file— имя файла, созданного с помощью mysqldump на источнике, аdb_name— имя базы данных для репликации:shell
R>mysql -u root -pdb_name<dump_fileПолный список опций для использования с mysqldump см. в Разделе 4.5.4, «mysqldump — Программа резервного копирования базы данных».
ПримечаниеЕсли вы копируете данные в реплику таким образом, убедитесь, что реплика запущена с опцией
--skip-slave-startв командной строке или включитеskip-slave-startв файле конфигурацииmy.cnfреплики, чтобы предотвратить попытку подключения к источнику для начала репликации до загрузки всех данных. После завершения загрузки данных выполните дополнительные шаги, описанные в следующих двух разделах. Убедитесь, что каждому MySQL-серверу, выступающему в роли источника репликации, присвоен уникальный идентификатор сервера и включено двоичное протоколирование в формате с строками (см. Раздел 16.2.1, «Форматы репликации»). Кроме того, рекомендуется включить переменную системы
slave_allow_batching; начиная с NDB 7.6.23, выдается предупреждение, если эта переменная установлена в значениеOFF. Также следует рассмотреть увеличение значений, используемых с опциями--ndb-batch-sizeи--ndb-blob-write-batch-bytes. Все эти параметры можно настроить либо в файле конфигурацииmy.cnfисходного сервера, либо в командной строке при запуске процесса исходного mysqld. Дополнительная информация приведена в Разделе 21.7.6, «Запуск репликации NDB Cluster (один канал репликации)».
© 2025 Oracle
Licensed under the GPLv2 License.