Spec-Zone .ru
спецификации, руководства, описания, API
|
PURGE { BINARY | MASTER } LOGS { TO 'log_name
' | BEFOREdatetime_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.7.2 и позже, это перестало работать с ошибкой в таких случаях. (Ошибка #13727933) Однако, если ведомое устройство не соединяется и Вы, оказывается, производите чистку одного из файлов журнала, которые это должно все же считать, ведомое устройство будет неспособно тиражироваться после того, как это повторно соединится.
Чтобы безопасно произвести чистку двоичных файлов журнала, следуйте за этой процедурой:
На каждом ведомом сервере использовать SHOW SLAVE STATUS
проверять, какой файл журнала это читает.
Получите перечисление двоичных файлов журнала на главном сервере с SHOW BINARY LOGS
.
Определите самый ранний файл журнала среди всех ведомых устройств. Это - конечный файл. Если все ведомые устройства современны, это - последний файл журнала в списке.
Сделайте резервное копирование всех файлов журнала, которые Вы собираетесь удалить. (Этот шаг является дополнительным, но всегда желательным.)
Произведите чистку всех файлов журнала до, но не включая конечный файл.
Можно также установить expire_logs_days
системная переменная, чтобы истечь двоичные файлы журнала
автоматически после данного числа дней (см. Раздел 5.1.4, "Системные
Переменные Сервера"). Если Вы используете репликацию, следует установить переменную не ниже чем
максимальное количество дней, Ваши ведомые устройства могли бы отстать от ведущего устройства.
PURGE BINARY LOGS TO
и PURGE BINARY LOGS BEFORE
оба
сбоя с ошибкой, когда двоичные файлы журнала, перечисленные в .index
файл был
удален из системы некоторыми другими средствами (такими как использование комнаты на Linux). (Ошибка #18199, Ошибка #18453), Чтобы
обработать такие ошибки, редактирование .index
файл (который является простым
текстовым файлом) вручную, чтобы гарантировать, что он перечисляет только двоичные файлы журнала, которые
фактически присутствуют, затем выполненные снова PURGE BINARY LOGS
оператор, который перестал работать.