innodb_log_file_size в MariaDB


innodb_log_file_size в MariaDB и MySQL — параметр, который определяет как сервер баз данных работает с диском. Им задается объем данных, который может быть использован для логирования операций по изменению данных. Это размер лог файла, в который пишутся данные об операциях с InnoDB.


Минимальное значение файла 4Мб, общее правило — значение должно равняться 25% от buffer_pool_size — основного параметра для InnoDB.



Как увеличить значение innodb_log_file_size в MariaDB


Значение меняется в основном конфигурационном файле сервера баз данных. Как для MySQL, так и для MariaDB.


По умолчанию используется значение, равное 48 Мб. В конфигурационном файле директивы нет.

MariaDB [(none)]> show variables like '%odb_log_file_si%';

+———————-+———-+
| Variable_name | Value |
+———————-+———-+
| innodb_log_file_size | 50331648 |
+———————-+———-+
1 row in set (0.00 sec)



Ее можно добавить в /etc/mysql/my.cnf или в другой файл подключенный в my.cnf в блоке [mysqld]


Пример подключения дополнительного конфигурационного файла и нужный блок показаны на скриншоте:

innodb_log_file_size


При 6 Гб оперативной памяти и больше можно установить например 256 Мб под данный лог.

mcedit /etc/mysql/mariadb.conf.d/50-server.cnf

innodb_log_file_size = 268435456



В обязательном порядке нужно удалить старые логи

rm /var/lib/mysql/ib_logfile1

rm /var/lib/mysql/ib_logfile0



Установку глобальных переменных в данном случае применять не оправдано.



Изменения вступают в силу после перезагрузки

systemctl restart mysql



Логи MySQL пересоздаст руководствуясь новым значением.


Значение варьируется от 128 Мб для маломощной машины (2Гб), до гигабайта и больше.



Размер лога InnoDB тесно связан с лимитом по памяти для InnoDB таблиц. Поскольку при увеличении лимита сервер будет использовать RAM все операции будут выполняться быстрее. Это положительно скажется на производительности сервера.

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



Довольно важный момент — значение размера лога влияет на скорость перезапуска MySQL. При больших значениях перезапуск может занимать минуты и даже десятки минут .


Читайте про оптимизацию настроек MySQL сервера.

Сказать спасибо