MariaDB - Двоичный журнал, часть первая

MariaDB - Двоичный журнал, часть первая

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

Я начинаю новую серию статей об очень важном компоненте в MariaDB который называется Binary Log.

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

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

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

Версию базы данных я использую 10.8.3.

 

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

  1. Проверка включен ли двоичный журнал.
  2. Включаем двоичный журнал.
  3. Настройка имени и место хранения двоичных журналов.
  4. Сжатие.
  5. Размер двоичного журнала.

 

1. Проверка включен ли двоичный журнал.

После установки СУБД по умолчанию двоичный журнал выключен. За включения двоичного журнала отвечает переменная log_bin.

mariadb> SHOW VARIABLES LIKE 'log_bin';

binary_log

Значения OFF значит двоичный журнал выключен.


 

2. Включаем двоичный журнал.

Переменная log_bin является статической, это значит что через команду SET либо SET GLOBAL не получится изменить значения переменной. Для того чтобы включить двоичный журнал, нужно менять значения переменной в конфигурационном файле. Конфигурационный файл находится в директории /etc/my.cnf.d/server.cnf

$. vim /etc/my.cnf.d/server.cnf

binary_log

Сохраняем файл и перезапускаем базу данных.

 

binary_log

После повторной проверки переменной мы видим что значения OFF поменялось на ON.

 

binary_log

И еще ко всему у нас в директории с базой данных появилось два файла.

  • ON.000001 - Это как раз и есть двоичный журнал.
  • ON.index - В этом файле хранится весь список двоичных журналов который создаются в процессе работы базы данных.

 

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

Я думаю со мной многие согласятся, что начало названия двоичного журнала которое начинается на ON как-то не очень хорошо. Та и вообще лучше все двоичные журналы хранить где-то отдельно от базы данных.

mariadb> SHOW VARIABLES LIKE '%log_bin%';

binary_log

  • log_bin - Означает что двоичный журнал включен.
  • log_bin_basename - Имя журнала и директория где будут храниться все журналы. 
  • log_bin_index - Простой файл в котором будут перечислены все двоичные журналы.

 

Я предлагаю создать отдельную директорию binarylog для хранения всех двоичных журналов.

$. mkdir /mariadb/binarylog

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

$. vim /etc/my.cnf.d/server.cnf

binary_log

Сохраняем файл и перезапускаем базу данных.

 

binary_log

binary_log

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


 

4. Сжатие.

Двоичные журналы ради экономии места на диске можно сжимать, на производительность базы данных сжатие не влияет. За сжатие отвечает переменная log_bin_compress, по умолчанию сжатие выключено.

mariadb> SHOW VARIABLES LIKE 'log_bin_compress';

binary_log

 

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

mariadb> SET GLOBAL log_bin_compress = ON;

binary_log

 

Ну и конечно тоже меняем значения переменной в конфигурационном файле.

binary_log


 

5. Размер двоичного журнала.

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

mariadb> SHOW VARIABLES LIKE 'max_binlog_size';

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
Читать далее