Descriptores de archivo
Para ejecutarse, el servidor MySQL necesita descriptores de archivo y los valores predeterminados no son suficientes.
Las utiliza para abrir nuevas conexiones, almacenar tablas en la caché, crear tablas temporales para resolver consultas complicadas y acceder a las persistentes. Si mysqld no puede abrir nuevos archivos cuando sea necesario, puede dejar de funcionar correctamente. Un síntoma común de este problema es el error 24, “Demasiados archivos abiertos”. El número de descriptores de archivo que mysqld puede abrir simultáneamente se define por el open_files_limit
opción establecida en el archivo de configuración (/etc/my.cnf
). Pero open_files_limit
también depende de los límites del sistema operativo. Esta dependencia hace que la configuración de la variable sea más complicada.
MySQL no puede definir su open_files_limit
opción superior a la especificada en ulimit 'open files'
. Por lo tanto, debe establecer explícitamente estos límites en el nivel del sistema operativo para permitir que MySQL abra archivos según sea necesario. Hay dos formas de comprobar el límite de archivos en Linux:
-
La
ulimit
command le proporciona rápidamente una descripción detallada de los parámetros que se permiten o bloquean. Los cambios realizados por la ejecución de este comando no son permanentes y se borrarán tras un reinicio del sistema. -
Cambios en la
/etc/security/limit.conf
el archivo es permanente y no se ve afectado por un reinicio del sistema.
Asegúrese de cambiar los límites duros y suaves para el usuario mysql. Los siguientes extractos son de la configuración:
mysql hard nofile 65535 mysql soft nofile 65353
En paralelo, actualice la misma configuración en my.cnf
para utilizar completamente los límites de archivo abierto.