Cómo aumentar el tamaño de redo log en MySQL/MariaDB

,
MySQL MariaDB

El problema

En versiones de MySQL a partir de la 5.6.20 y por consiguiente en MariaDB, se puede presentar un error cuando importas tablas y bases de datos si el tamaño del redo log es demasiado pequeño, el cual es controlado por la directiva «innodb_log_file_size«. El error se encuentra asociado con el siguiente mensaje:

El cambio introducido a partir de MySQL 5.6.20 es:

As a result of the redo log BLOB write limit introduced for MySQL 5.6, the innodb_log_file_size setting should be 10 times larger than the largest BLOB data size found in the rows of your tables plus the length of other variable length fields (VARCHAR, VARBINARY, and TEXT type fields). No action is required if your innodb_log_file_size setting is already sufficiently large or your tables contain no BLOB data.

Esto nos indica que el valor de «innodb_log_file_size» debe ser 10 veces más grande que el tamaño del dato BLOB encontrado en las filas de las tablas. Esto no suele ser un problema si el valor de «innodb_log_file_size» es lo suficientemente grande o las tablas de tu base de datos no contienen datos BLOB.

Solucionando el problema

La solución consiste en editar el archivo de configuración (my.cnf) de MySQL/MariaDB e incrementar el valor de «innodb_log_file_size«. El valor predeterminado de «innodb_log_file_size» es de 48 MB por lo que lo aumentaremos a 256 MB.

Para cambiar el valor de «innodb_log_file_size» es necesario llevar a cabo los pasos que a continuación te muestro.

  • Apagar el servicio mysql:

Si empleas WHM/CPanel, asegúrate de desactivar que el sistema supervise el servicio mysql, para evitar que se inicie en lo que relizas la modificación.

  • Comprobar que el serivicio finalizó correctamente.

  • Mover hacia el directorio «/root» los archivos «ib_logfile0, ib_logfile1» y así:

  • Aumentar el tamaño de «innodb_log_file_size» a 256 MB.

Para Debian y derivados, editar así:

Para RHEL/CentOS, editar:

Agregar dentro de la sección [mysqld]

  • Finalmente iniciar el servicio mysql y comprobar que todo ha iniciado de forma normal.

A partir de aquí ya puedes importar tus tablas y/o bases de datos que contengan datos BLOB grandes. Si deseas conocer cómo instalar un servidor LAMP en detalles no te pierdas este excelente tutorial «Cómo instalar Linux, Apache, PHP, Mysql en Ubuntu«.

2 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *