Поиск

Операторы репликации

Операторы SQL для управления главными серверами

Репликацией можно управлять через SQL-интерфейс. В настоящем разделе описываются операторы для управления главными серверами репликации Раздел6.6.6.2 посвящен управлению подчиненными серверами.

Синтаксис PURGE MASTER LOGS

PURGE {MASTER PURGE {MASTER

BINARY} LOGS TO 'имя_журнала' BINARY} LOGS BEFORE 'дата'


Удаляет все бинарные журналы, перечисленные в индексе журна;1,которые строго предшествуют заданному имени или дате. При этом они также удаляюся из списка в индексном файле журнала и, таким образом, заданный файл журнала становится первым.

Примеры:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';
Вариант BEFORE доступен, начиная с версии MySQL 4.1. Аргумент даты может быть представлен в формате 'ГГГГ-ММ-ДД чч:мм:сс'. MASTER и BINARY являются синонимами, но BINARY появился только в версии MySQL 4.1.1.
Если есть активный подчиненный сервер, в данный момент читающий журнал, кото­рый вы пытаетесь удалить, этот оператор не делает ничего и завершается ошибкой. Од­нако если подчиненный сервер пребывает в бездействии, а вы пытаетесь удалить один из журналов, которые он хочет читать, подчиненный сервер не сможет продолжать репли­кацию, когда вернется к работе. Этот оператор безопасен, если подчиненные серверы заняты репликацией. Нет необходимости останавливать их.
Для очистки журналов выполните перечисленные ниже шаги.

  • На каждом подчиненном сервере с помощью SHOW SLAVE STATUS определите, ка кой журнал в настоящий момент читается.
  • Получите список журналов главного сервера с помощью оператора SHOW MASTER

LOGS.

  • Определите самый ранний журнал среди подчиненных серверов. Это и будет це левой журнал. Если все журналы на подчиненных серверах являются актуальны ми, целевым будет последний журнал в списке.
  • Сделайте резервную копию всех журналов, которые собираетесь удалять. (Это не обязательно, но желательно.)
  • Очистите все журналы за исключением целевого.

Синтаксис RESET MASTER
RESET MASTER
Удаляет все бинарные журналы, перечисленные в индексном файле, очищает сам ин­дексный файл и создает новый файл бинарного журнала.
До версии MySQL 3.23.26 этот оператор назывался FLUSH MASTER.
Синтаксис SET SQL_LOG_BIN
SET SQL_LOG_BIN = {0 | 1}
Включает и выключает бинарную регистрацию текущего соединения (SQL_LOG_BIN -это переменная сеанса), если клиент подключен, используя учетную запись с привилеги­ей SUPER. Оператор будет отклонен с ошибкой, если клиент не имеет этой привилегии. (До MySQL Обзор типов даты и времени в этом случае оператор попросту игнорировался.)

Синтаксис SHOW BINLOG EVENTS
SHOW BINLOG EVENTS
[IN 'имя_журналау } [FROM позиция] [LIMIT [смещение,] количество_строк]
Показывает события, занесенные в бинарный журнал. Если не указывать ' имя_журнала', отображается первый бинарный журнал.
Конструкция LIMIT имеет тот же синтаксис, что и в операторе SELECT (см. раздел Синтаксис SELECT). Этот оператор доступен, начиная с версии MySQL 4.O.

Синтаксис SHOW MASTER LOGS

SHOW MASTER LOGS
Выводит список файлов бинарных журналов на главном сервере. G меняется как часть процедуры, описанной в разделе Синтаксис PURGE MASTER LOGS, чтобы журналы могут быть очищены.
Синтаксис SHOW MASTER STATUS

SHOW MASTER STATUS
Представляет информацию о состоянии файлов бинарных журналов
Синтаксис SHOW SLAVE HOSTS

SHOW SLAVE HOSTS
Выводит список подчиненных серверов, зарегистрированных в } главном. Любой подчиненный сервер, который не был запущен с опци< имя_подчиненного_сервера, в списке показан не будет.