Durante el proceso de ajuste y optimización de MySQL o MariaDB, se puede presentar la necesidad de incrementar el valor de la variable open_files_limit
. Este ajuste es importante para prevenir limitaciones en el rendimiento de tu base de datos MariaDB o MySQL. Este problema suele deberse a limitaciones impuestas por el Sistema Operativo Linux instalado en cuanto al número de archivos abiertos. A continuación, se detallan los pasos para resolver esta situación.
Pasos para Aumentar open_files_limit
- Verificación de Archivos .conf Adicionales en MySQL/MariaDB:Antes de realizar cambios, es importante verificar si hay archivos .conf adicionales que estén anulando los valores de límite de apertura para MySQL. Ejecute el siguiente comando para verificarlo:
systemctl status [mysqld|mysql|mariadb]
Si aparece algo similar a:Drop-In: /etc/systemd/system/(mysqld/mysql/mariadb).service.d └─limits.conf
Significa que existe un archivo/etc/systemd/system/[mysqld|mysql|mariadb].service.d/limits.conf
que se carga con el servidor MySQL. Si no existe este archivo, deberá crearlo. - Edición del Archivo de Configuración:Utilice el comando
systemctl edit [mysqld|mysql|mariadb]
para editar el archivo. Asegúrese de utilizar el nombre de servicio correcto en función de su servidor.- Cálculo de LimitNOFILE: Busca como obtener el valor recomendado de LimitNOFILE o haz el cálculo usando esta fórmula:
LimitNOFILE = 10 + [max_connections] + ([table_open_cache] * 2)
Por ejemplo, si[max_connections]=151
y[table_open_cache]=2048
, entoncesLimitNOFILE=4257
. - Añadiendo el Valor Calculado: Agregue el siguiente texto al archivo y guárdelo, reemplazando
<calculated_value>
con su valor calculado:[Service] LimitNOFILE=<calculated_value>
- Cálculo de LimitNOFILE: Busca como obtener el valor recomendado de LimitNOFILE o haz el cálculo usando esta fórmula:
- Aplicar Cambios:Ejecute
systemctl daemon-reload
para aplicar los cambios realizados. - Reiniciar el Servidor MariaDB/MySQL:Reinicie su servidor MySQL/MariaDB para que los cambios surtan efecto.
- Verificación:Tras reiniciar el servidor, ejecute la consulta SQL
SHOW VARIABLES LIKE 'open_files_limit';
para verificar que el valor se haya configurado correctamente.
Solución de Problemas y Preguntas Frecuentes
- Usuarios de CloudLinux cPanel & WHM:Asegúrese de desactivar la opción «Permitir que cPanel & WHM determine el mejor valor para su configuración de MySQL open_files_limit» en WHM >> Ajustes de Tweak.
- Si LimitNOFILE > 1048576:Edite el archivo
/etc/sysctl.conf
y agregue al final la línea:fs.nr_open=<LimitNOFILE_value>
Ejecutesysctl -p
, reinicie MySQL/MariaDB y verifique queopen_files_limit
se haya configurado correctamente.
En resumen, incrementar correctamente el parámetro open_files_limit
en MySQL es crucial para el óptimo rendimiento del sistema de base de datos. Siguiendo estos pasos, se puede asegurar que MariaDB o MySQL opere dentro de los límites adecuados, evitando así restricciones que podrían afectar su eficiencia y estabilidad.