MariaDB - Срок хранения двоичных журналов, часть вторая

MariaDB - Срок хранения двоичных журналов, часть вторая

Коллеги всем привет.

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

 

Содержимое статьи:

  1. Просмотр всего списка двоичных журналов в консоли.
  2. Просмотр всего списка через файл mariadb-binary-log.index.
  3. Просмотр какой двоичный журнал сейчас активный для записи.
  4. Удаляем все журналы RESET MASTER.
  5. Удалить журналы с помощью PURGE BINARY LOGS.
  6. Переменные binlog_expire_logs_seconds и expire_logs_days

 

1. Просмотр всего списка двоичных журналов в консоли.

Для просмотра всего списка у нас есть два варианта: SHOW BINARY LOGS и SHOW MASTER LOGS.

mariadb> SHOW BINARY LOGS;

binary_log

 

mariadb> SHOW MASTER LOGS;

binary_log

 

Оба эти варианта абсолютно одинаковые, они покажут вам весь список двоичных журналов которые есть на данный момент на сервере.


 

2. Просмотр всего списка через файл mariadb-binary-log.index

Есть еще один вариант просмотра списка это через файл mariadb-binary-log.index. Я им пользуюсь очень редко, пользуюсь только тогда когда хочется на 100% убедится что результат консоли соответствует результату в этом файле.

Для начала давайте найдем этот файл, для поиска можно воспользоваться командой в консоли:

mariadb> SHOW VARIABLES LIKE 'log_bin_index';

binary_log

binary_log

Как видим в файле mariadb-binary-log.index находится 5 записей, а значит консоль базы данных сказала нам правду.


 

3. Просмотр какой двоичный журнал сейчас активный для записи.

Как мы помним из прошлой статьи каждый двоичный журнал имеет размер по умолчанию 1 гигабайт. И чтобы узнать какой журнал сейчас использует база данных для записи в него есть команда:

mariadb> SHOW MASTER STATUS;

binary_log

Как видим база данных сейчас использует двоичный журнал mariadb-binary-log.000005 для записи. Position означает на какой позиции сейчас идет запись в файл, этот параметр очень важен когда у вас построена репликация.


 

4. Удаляем все журналы RESET MASTER.

Самый простой способ удалить все двоичные журналы это использовать команду:

mariadb> RESET MASTER;

binary_log

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

!!!ВАЖНО!!! Никогда не используйте эту команду если у вас построена активная репликация.


 

5. Удалить журналы с помощью PURGE BINARY LOGS.

Как по мне то PURGE BINARY LOGS является самой безопасной ручной командой для удаления двоичных журналов. С этой командой можно явно указывать какие журналы вы хотите удалить.

 

Допустим у нас сейчас есть 7 журналов.

binary_log

И допустим я хочу удалить только журнал с именем mariadb-binary-log.000005, а остальные чтобы остались. ТАК НЕ ВЫЙДЕТ!

 

Если вы укажите команду:

mariadb> PURGE BINARY LOGS TO 'mariadb-binary-log.000005';

binary_log

То получается что все журналы что были выше журнала mariadb-binary-log.000005 будут удалены.

 

Также в MariaDB есть возможность удалять двоичные журналы за определенную дату:

mariadb> PURGE BINARY LOGS BEFORE '2022-05-28';

mariadb> PURGE BINARY LOGS BEFORE '2022-05-28 19:50:00';


 

6. Переменные binlog_expire_logs_seconds и expire_logs_days.

Последним вариантов удаления двоичных журналов является настройка двух переменных.

  • expire_logs_days - срок хранения в днях.
  • binlog_expire_logs_seconds - срок хранения в секундах.

 

binary_log

По умолчанию они имеют значения 0, это значит что срок хранения двоичных журналов не установлен.

 

Переменные являются динамические, и по этому мы можем изменить значения в консоли через команду SET GLOBAL.

mariadb> SET GLOBAL expire_logs_days = 2;

binary_log

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


 

 Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

ПОХОЖИЕ СТАТЬИ

MariaDB - ERROR Incorrect definition of table
MariaDB - ERROR Incorrect definition of table
MARIADB
Читать далее
Mariabackup резервное копирование - Сжатие gzip
Mariabackup резервное копирование - Сжатие gzip
MARIADB
Читать далее
Mariabackup ошибка - Error writing file UNKNOWN errno 32 Broken pipe
Mariabackup ошибка - Error writing file UNKNOWN errno 32 Broken pipe
MARIADB
Читать далее