Spec-Zone .ru
спецификации, руководства, описания, API
|
Чтобы сконфигурировать репликацию на ведомом устройстве, следует определить текущие координаты ведущего устройства в пределах его двоичного журнала. Вы будете нуждаться в этой информации так, чтобы, когда ведомое устройство запускает процесс репликации, это было в состоянии начать обрабатывать события от двоичного журнала в корректной точке.
Если у Вас есть существующие данные на Вашем ведущем устройстве, которое Вы хотите синхронизировать на Ваших ведомых устройствах прежде, чем запустить процесс репликации, следует прекратить обрабатывать операторы на ведущем устройстве, и затем получить его текущие двоичные координаты журнала и вывести его данные, прежде, чем разрешить ведущему устройству продолжать выполнять операторы. Если Вы не остановите выполнение операторов, то дамп данных и основная информация о статусе, которую Вы используете, не будут соответствовать, и Вы закончите с непоследовательными или поврежденными базами данных на ведомых устройствах.
Чтобы получить основные двоичные координаты журнала, следуйте за этими шагами:
Запустите сеанс на ведущем устройстве, соединяясь с этим с клиентом командной
строки, и сбросьте все таблицы и блокируйте операторы записи, выполняясь FLUSH TABLES WITH READ LOCK
оператор:
mysql> FLUSH TABLES WITH READ
LOCK;
Для InnoDB
таблицы, отметьте это FLUSH TABLES WITH READ LOCK
также блоки COMMIT
операции.
Оставьте клиент, от которого Вы вышли FLUSH TABLES
выполнение оператора так, чтобы блокировка чтения
осталась в силе. Если Вы выходите из клиента, блокировка выпускается.
В различном сеансе на ведущем устройстве используйте SHOW MASTER STATUS
оператор, чтобы определить текущее двоичное имя файла
журнала и позицию:
mysql > SHOW MASTER
STATUS;
+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000003 | 73 | test | manual,mysql |+------------------+----------+--------------+------------------+
File
столбец показывает имя файла журнала и Position
показывает позицию в пределах файла. В этом примере двоичный файл журнала mysql-bin.000003
и позиция 73. Запишите эти значения. Вы нуждаетесь в них позже, когда Вы устанавливаете ведомое
устройство. Они представляют координаты репликации, в которых ведомое устройство должно начать
обрабатывать новые обновления от ведущего устройства.
Если ведущее устройство работало ранее без двоичного включенного журналирования, имя файла журнала и
значения позиции, выведенные на экран SHOW MASTER STATUS
или mysqldump - основные данные будут пусты. В этом
случае значения, которые Вы должны использовать позже, определяя файл журнала ведомого устройства и
позицию, являются пустой строкой (''
) и 4
.
У Вас теперь есть информация, которую Вы должны позволить ведомому устройству начать читать из двоичного файла, входят в систему корректное место, чтобы запустить репликацию.
Если у Вас есть существующие данные, которые должны быть к синхронизируемому с ведомым устройством прежде, чем Вы запустите репликацию, оставите клиент, работающий так, чтобы блокировка осталась на месте, и затем продолжите к Разделу 16.1.1.5, "Создавая Снимок Данных Используя mysqldump", или Раздел 16.1.1.6, "Создавая Снимок Данных Используя Файлы Необработанных данных". Идея здесь состоит в том, чтобы предотвратить дальнейшие изменения так, чтобы данные, скопированные в ведомые устройства, были в синхронии с ведущим устройством.
Если Вы устанавливаете совершенно новую основную и ведомую группу репликации, можно выйти из первого сеанса, чтобы выпустить блокировку чтения.