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

16.1.1.5. Создание Снимка Данных Используя mysqldump

Один способ создать снимок данных в существующей основной базе данных состоит в том, чтобы использовать mysqldump инструмент. Как только дамп данных был завершен, Вы тогда импортируете эти данные в ведомое устройство прежде, чем запустить процесс репликации.

Получить снимок данных, используя mysqldump:

  1. Если Вы уже не заблокировали таблицы на сервере, чтобы предотвратить операторы, которые обновляют данные от выполнения:

    Запустите сеанс на сервере, соединяясь с этим с клиентом командной строки, и сбросьте все таблицы и блокируйте операторы записи, выполняясь FLUSH TABLES WITH READ LOCK оператор:

    mysql> FLUSH TABLES WITH READ
                        LOCK;

    Не забудьте использовать SHOW MASTER STATUS и запишите двоичные детали журнала для использования, запуская ведомое устройство. Момент времени Вашего снимка и двоичной позиции журнала должен соответствовать. См. Раздел 16.1.1.4, "Получая Ведущие Двоичные Координаты Журнала Репликации".

  2. В другом сеансе используйте mysqldump, чтобы создать дамп или всех баз данных, которые Вы хотите тиражировать, или выбранных отдельных баз данных. Например:

    shell> mysqldump --all-databases
                        --lock-all-tables >dbdump.db

    Альтернатива использованию пустого дампа, должен использовать --master-data опция, которая автоматически добавляет CHANGE MASTER TO оператор, требуемый на ведомом устройстве запустить процесс репликации.

    shell> mysqldump --all-databases
                        --master-data >dbdump.db
  3. В клиенте, где Вы получали блокировку чтения, выпустите блокировку:

    mysql> UNLOCK
                        TABLES;

    Альтернативно, выйдите из первого сеанса, чтобы выпустить блокировку чтения.

Выбирая базы данных, чтобы включать в дамп, не забудьте отфильтровывать базы данных на каждом ведомом устройстве, которое Вы не хотите включать в процесс репликации.

Или чтобы скопировать файл дампа в ведомое устройство, или использовать файл от ведущего устройства, соединяясь удаленно с ведомым устройством, чтобы импортировать данные.