Modificar el tamaño de los redo logs de InnoDB de MariaDB y MySQL

MySQL y MariaDB utilizan, por defecto, los archivos de «redo logs» ib_logfile0  y 1 de 48MB cada uno por defecto. Sin embargo, dependiendo de la actividad de nuestra base de datos, es posible que necesitemos ampliar el tamaño de estos archivos para no estar machacando tanto el disco y mejorar el rendimiento de nuestra base de datos.

No obstante, si no quieres obtener un error como el siguiente, tendrás que seguir los siguientes pasos:

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 67108864 bytes!
InnoDB: Possible causes for this error:
(a) Incorrect log file is used or log file size is changed
(b) In case default size is used this log file is from 10.0
(c) Log file is corrupted or there was not enough disk space
In case (b) you need to set innodb_log_file_size = 48M
180802 8:37:12 [ERROR] Plugin ‘InnoDB’ init function returned error.
180802 8:37:12 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
180802 8:37:12 [Note] Plugin ‘FEEDBACK’ is disabled.
180802 8:37:12 [ERROR] Unknown/unsupported storage engine: InnoDB
180802 8:37:12 [ERROR] Aborting

  • Primero hay que parar la base de datos.
  • Hazte una copia de seguridad, por lo que pueda pasar.
  • Elimina los ficheros ib_logfile*

[root]# ls -lh |grep ib_log
-rw-rw—- 1 mysql mysql 48M Aug 2 08:49 ib_logfile0
-rw-rw—- 1 mysql mysql 48M Aug 2 08:41 ib_logfile1

  • Modifica el fichero /etc/my.cnf con el tamaño y número de ficheros de redo que necesites. Por ejemplo, ocho archivos de 64MB:

innodb_log_file_size=64M
innodb_log_files_in_group=8

  • Arranca la base de datos. Verás que ya tienes creados los ocho archivos:

[root]# ls -lh |grep ib_log
-rw-rw—- 1 mysql mysql 64M Aug 2 08:50 ib_logfile0
-rw-rw—- 1 mysql mysql 64M Aug 2 08:41 ib_logfile1
-rw-rw—- 1 mysql mysql 64M Aug 2 08:41 ib_logfile2
-rw-rw—- 1 mysql mysql 64M Aug 2 08:41 ib_logfile3
-rw-rw—- 1 mysql mysql 64M Aug 2 08:41 ib_logfile4
-rw-rw—- 1 mysql mysql 64M Aug 2 08:41 ib_logfile5
-rw-rw—- 1 mysql mysql 64M Aug 2 08:42 ib_logfile6
-rw-rw—- 1 mysql mysql 64M Aug 2 08:42 ib_logfile7
[root]#

COMPÁRTEME

Deja un comentario