Cómo incrementar el parámetro open_files_limit en MySQL o MariaDB

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

  1. 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.
  2. 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, entonces LimitNOFILE=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>
  3. Aplicar Cambios:Ejecute systemctl daemon-reload para aplicar los cambios realizados.
  4. Reiniciar el Servidor MariaDB/MySQL:Reinicie su servidor MySQL/MariaDB para que los cambios surtan efecto.
  5. 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

  1. 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.
  2. Si LimitNOFILE > 1048576:Edite el archivo /etc/sysctl.conf y agregue al final la línea:

    fs.nr_open=<LimitNOFILE_value>

    Ejecute sysctl -p, reinicie MySQL/MariaDB y verifique que open_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.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio