MariaDB - термін зберігання двійкових журналів, частина друга
- Останнє оновлення: 3 Листопада 2023 р.
- Перегляди: 187
- Автор: Адмін
Колеги всім привіт.
У сьогоднішній статті ми поговоримо про те, як видаляти двійкові журнали MariaDB. Як ми знаємо двійкові журнали створюються постійно і забивають місце на диску, і тому їх потрібно іноді видаляти, або налаштувати автоматичну чистку. Ми сьогодні розбиратимемо всі варіанти очистки двійкових журналів.
Вміст статті:
- Перегляд усього списку бінарних журналів у консолі.
- Перегляд усього списку через файл mariadb-binary-log.index.
- Перегляд якого двійкового журналу зараз активний для запису.
- Видаляємо всі журнали RESET MASTER.
- Видалити журнали за допомогою PURGE BINARY LOGS.
- Змінні binlog_expire_logs_seconds та expire_logs_days
1. Перегляд усього списку двійкових журналів у консолі.
Для перегляду всього списку у нас є два варіанти: SHOW BINARY LOGS та SHOW MASTER LOGS.
mariadb> SHOW BINARY LOGS;
mariadb> SHOW MASTER LOGS;
Обидва ці варіанти абсолютно однакові, вони покажуть вам весь список двійкових журналів, які є на даний момент на сервері.
2. Перегляд усього списку через файл mariadb-binary-log.index
Є ще один варіант перегляду списку через файл mariadb-binary-log.index. Я ним користуюся дуже рідко, користуюся тільки тоді, коли хочеться на 100% переконається, що результат консолі відповідає результату в цьому файлі.
Для початку давайте знайдемо цей файл, для пошуку можна скористатися командою в консолі:
mariadb> SHOW VARIABLES LIKE 'log_bin_index';
Як бачимо у файлі mariadb-binary-log.index знаходиться 5 записів, а значить консоль бази даних сказала нам правду.
3. Перегляд якого двійкового журналу зараз активний для запису.
Як ми пам'ятаємо з минулої статті, кожен двійковий журнал має розмір за замовчуванням 1 гігабайт. І щоб дізнатися, який журнал зараз використовує база даних для запису в нього є команда:
mariadb> SHOW MASTER STATUS;
Як бачимо база даних зараз використовує двійковий журнал mariadb-binary-log.000005 для запису. Position означає на якій позиції зараз йде запис у файл, цей параметр дуже важливий коли у вас побудована реплікація.
4. Видаляємо всі журнали RESET MASTER.
Найпростіший спосіб видалити всі двійкові журнали це використовувати команду:
mariadb> RESET MASTER;
Після виконання цієї команди всі двійкові журнали видаляються з сервера, навіть той журнал який зараз використовувала база даних. Я вам рекомендую дуже обережно використати цю команду.
!!!ВАЖЛИВО!!! Ніколи не використовуйте цю команду, якщо у вас побудована активна реплікація.
5. Видалити журнали за допомогою PURGE BINARY LOGS.
Як на мене PURGE BINARY LOGS є найбезпечнішою ручною командою для видалення двійкових журналів. З цією командою можна явно вказувати, які журнали ви хочете видалити.
Припустимо, у нас є 7 журналів.
І припустимо я хочу видалити тільки журнал з ім'ям mariadb-binary-log.000005, а решта щоб залишилися. ТАК НЕ ВИЙДЕ!
Якщо ви вкажіть команду:
mariadb> PURGE BINARY LOGS TO 'mariadb-binary-log.000005';
То виходить, що всі журнали, що були вище журналу 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 - термін зберігання в секундах.
За замовчуванням вони мають значення 0, тобто термін зберігання двійкових журналів не встановлено.
Змінні динамічні, тому ми можемо змінити значення в консолі через команду SET GLOBAL.
mariadb> SET GLOBAL expire_logs_days = 2;
У даному прикладі ми встановили термін зберігання двійкового журналу два дні, і база даних сама видаляти двійкові журналу після закінчення цих двох днів.
Дякуємо, я сподіваюся, що вам моя стаття хоч чимось допомогла.