Изменение InnoDB log file size в MySQL

InnoDB log file size — размер файлов журнала транзакций, которые необходимы для отмены транзакций и восстановления базы в случае сбоя.

Сначала посмотрим текущее значение (у меня отобразилось 50331648 байт):

mysql -u root -p
SELECT @@innodb_log_file_size;
show variables like 'innodb_log_file_size';
show variables like 'innodb_log_files_in_group';
exit

Чтобы изменить значение, откроем файл конфигурации MySQL сервера в текстовом редакторе, например:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

И укажем размер:

innodb_log_file_size = 1G

innodb_log_files_in_group можно не указывать, так как по умолчанию оно равно 2, то есть в нашем случае создастся два файла по 1Gb.
Обычно innodb_log_file_size равен 25% от innodb_buffer_pool_size, то есть если например innodb_buffer_pool_size = 2G, то можно указать innodb_log_file_size = 256M.

Остановим MySQL сервер:

/etc/init.d/mysql stop

Посмотрим текущий размер log файлов (ib_logfile0 и ib_logfile1):

ls -lah /var/lib/mysql/

Запустим MySQL сервер:

/etc/init.d/mysql start

Проверим логи, убедимся что InnoDB увидел что изменено значение innodb_log_file_size, закрыл и удалили старые log файлы, а потом создал и открыл новые log файлы:

tail -n 100 //var/log/mysql/error.log

Убедимся что изменился размер лог файлов:

ls -lah /var/lib/mysql/

Смотрите также мои статьи:
Изменение InnoDB buffer pool
Установка и использование mysqltuner.pl
Решение «InnoDB Error ib_logfile0 is of different size»

Оставьте комментарий

Добавить комментарий