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

13.4.1.1. PURGE BINARY LOGS Синтаксис

PURGE { BINARY | MASTER } LOGS    { TO 'log_name' | BEFORE datetime_expr }

Двоичный журнал является рядом файлов, которые содержат информацию о модификациях данных, сделанных сервером MySQL. Журнал состоит из ряда двоичных файлов журнала плюс индексный файл (см. Раздел 5.2.4, "Двоичный Журнал").

PURGE BINARY LOGS оператор удаляет все двоичные файлы журнала, перечисленные в индексном файле журнала до указанного имени файла журнала или даты. BINARY и MASTER синонимы. Удаленные файлы журнала также удаляются из списка, записанного в индексном файле, так, чтобы данный файл журнала стал первым в списке.

Этот оператор не имеет никакого эффекта, если сервер не был запущен с --log-bin опция, чтобы включить двоичному журналированию.

Примеры:

PURGE BINARY LOGS TO 'mysql-bin.010';PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';

BEFORE разновидность datetime_expr параметр должен оценить к a DATETIME значение (значение в 'YYYY-MM-DD hh:mm:ss' формат).

Этот оператор безопасно выполнить, в то время как ведомые устройства тиражируются. Вы не должны остановить их. Если у Вас есть активное ведомое устройство, которое в настоящий момент читает один из файлов журнала, которые Вы пытаетесь удалить, этот оператор ничего не делает. В MySQL 5.6.12 и позже, это перестало работать с ошибкой в таких случаях. (Ошибка #13727933) Однако, если ведомое устройство не соединяется и Вы, оказывается, производите чистку одного из файлов журнала, которые это должно все же считать, ведомое устройство будет неспособно тиражироваться после того, как это повторно соединится.

Чтобы безопасно произвести чистку двоичных файлов журнала, следуйте за этой процедурой:

  1. На каждом ведомом сервере использовать SHOW SLAVE STATUS проверять, какой файл журнала это читает.

  2. Получите перечисление двоичных файлов журнала на главном сервере с SHOW BINARY LOGS.

  3. Определите самый ранний файл журнала среди всех ведомых устройств. Это - конечный файл. Если все ведомые устройства современны, это - последний файл журнала в списке.

  4. Сделайте резервное копирование всех файлов журнала, которые Вы собираетесь удалить. (Этот шаг является дополнительным, но всегда желательным.)

  5. Произведите чистку всех файлов журнала до, но не включая конечный файл.

Можно также установить expire_logs_days системная переменная, чтобы истечь двоичные файлы журнала автоматически после данного числа дней (см. Раздел 5.1.4, "Системные Переменные Сервера"). Если Вы используете репликацию, следует установить переменную не ниже чем максимальное количество дней, Ваши ведомые устройства могли бы отстать от ведущего устройства.

PURGE BINARY LOGS TO и PURGE BINARY LOGS BEFORE оба сбоя с ошибкой, когда двоичные файлы журнала, перечисленные в .index файл был удален из системы некоторыми другими средствами (такими как использование комнаты на Linux). (Ошибка #18199, Ошибка #18453), Чтобы обработать такие ошибки, редактирование .index файл (который является простым текстовым файлом) вручную, чтобы гарантировать, что он перечисляет только двоичные файлы журнала, которые фактически присутствуют, затем выполненные снова PURGE BINARY LOGS оператор, который перестал работать.