Spec-Zone .ru
спецификации, руководства, описания, API

17.6.5. Подготовка MySQL Cluster for Replication

Подготовка MySQL Cluster для репликации состоит из следующих шагов:

  1. Проверьте все серверы MySQL на совместимость версии (см. Раздел 17.6.2, "Общие Требования для MySQL Cluster Replication").

  2. Создайте ведомую учетную запись на основном Кластере с соответствующими полномочиями:

    mysqlM> GRANT REPLICATION SLAVE     -> ON *.* TO 'slave_user'@'slave_host'     -> IDENTIFIED BY 'slave_password';

    В предыдущем операторе, slave_user ведомое имя пользователя учетной записи, slave_host имя хоста или IP-адрес ведомого устройства репликации, и slave_password пароль, чтобы присвоиться к этой учетной записи.

    Например, чтобы создать ведомую учетную запись пользователя с именем"myslave," входя в систему от узла, названного"rep-slave," и использование пароля"53cr37," используйте следующий GRANT оператор:

    mysqlM> GRANT REPLICATION SLAVE     -> ON *.* TO 'myslave'@'rep-slave'     -> IDENTIFIED BY '53cr37';

    Для соображений безопасности предпочтительно использовать уникальную учетную запись пользователя — не используемый в любой другой цели — для ведомой учетной записи репликации.

  3. Сконфигурируйте ведомое устройство, чтобы использовать ведущее устройство. Используя MySQL Monitor, это может быть выполнено с CHANGE MASTER TO оператор:

    mysqlS> CHANGE MASTER TO     -> MASTER_HOST='master_host',     -> MASTER_PORT=master_port,     -> MASTER_USER='slave_user',     -> MASTER_PASSWORD='slave_password';

    В предыдущем операторе, master_host имя хоста или IP-адрес ведущего устройства репликации, master_port порт для ведомого устройства, чтобы использовать для того, чтобы соединиться с ведущим устройством, slave_user имя пользователя, установленное для ведомого устройства на ведущем устройстве, и slave_password набор пароля для той учетной записи пользователя в предыдущем шаге.

    Например, чтобы сказать ведомому устройству тиражироваться от сервера MySQL, имя хоста которого"rep-master," используя ведомую учетную запись репликации, создаваемую в предыдущем шаге, используйте следующий оператор:

    mysqlS> CHANGE MASTER TO     -> MASTER_HOST='rep-master',     -> MASTER_PORT=3306,     -> MASTER_USER='myslave',     -> MASTER_PASSWORD='53cr37';

    Для полного списка опций, которые могут использоваться с этим оператором, см. Раздел 13.4.2.1,"CHANGE MASTER TO Синтаксис".

    Чтобы обеспечить репликацию делают копию возможности, Вы также должны добавить --ndb-connectstring опция к ведомому устройству my.cnf файл до запуска процесса репликации. См. Раздел 17.6.9, "MySQL Cluster Replication MySQL Cluster Backups With", для деталей.

    Для дополнительных опций, которые могут быть установлены в my.cnf для ведомых устройств репликации см. Раздел 16.1.4, "Репликация и Двоичные Опции Журналирования и Переменные".

  4. Если основной кластер уже находится в использовании, можно создать резервное копирование ведущего устройства и загрузить это на ведомое устройство, чтобы сократить количество времени, требуемое для ведомого устройства синхронизировать себя с ведущим устройством. Если ведомое устройство также выполняет MySQL Cluster, это может быть выполнено, используя резервное копирование и процедуру восстановления, описанную в Разделе 17.6.9, "MySQL Cluster Replication MySQL Cluster Backups With".

    ndb-connectstring=management_host[:port]

    Когда Вы не используете MySQL Cluster на ведомом устройстве репликации, можно создать резервное копирование с этой командой на ведущем устройстве репликации:

    shellM> mysqldump --master-data=1

    Затем импортируйте получающийся дамп данных на ведомое устройство, копируя файл дампа в ведомое устройство. После этого можно использовать mysql клиент, чтобы импортировать данные из dumpfile в ведомую базу данных как показано сюда, где dump_file имя файла, который был сгенерирован, используя mysqldump на ведущем устройстве, и db_name имя базы данных, которая будет тиражирована:

    shellS> mysql -u root -p db_name <
                        dump_file

    Для полного списка опций, чтобы использовать с mysqldump, см. Раздел 4.5.4, "mysqldump — Программа Резервного копирования базы данных".

    Отметить

    Если Вы копируете данные в ведомое устройство этим способом, следует удостовериться, что ведомое устройство запускается с --skip-slave-start опция на командной строке, или иначе включают skip-slave-start в ведомом устройстве my.cnf файл, чтобы препятствовать этому пытаться соединиться с ведущим устройством, чтобы начать тиражироваться перед всеми данными был загружен. Как только загрузка данных завершилась, следуйте за дополнительными шагами, обрисованными в общих чертах в следующих двух разделах.

  5. Гарантируйте, что каждый сервер MySQL, действующий как ведущее устройство репликации, конфигурируется с уникальным ID сервера, и с двоичным включенным журналированием, используя формат строки. (См. Раздел 16.1.2, "Форматы Репликации".) Эти опции могут быть установлены любой в главном сервере my.cnf файл, или на командной строке, запуская основной процесс mysqld. См. Раздел 17.6.6, "Репликация Кластера MySQL Starting (Единственный Канал Репликации)", для информации относительно последней опции.