Recibí este error al migrar una gran cantidad de cuentas de un servidor cpanel a otro.
[ERROR] /usr/sbin/mysqld:No se puede abrir el archivo:'./dbname/tablename.frm' (errno:24)
errno: 24
significa que hay demasiados archivos abiertos. Hay una variable mysql llamada "open_files_limit"
que muestra cuántos archivos abiertos están permitidos en mysql de forma predeterminada. No podemos actualizar este valor usando el comando "Establecer" ya que esta variable es una variable de solo lectura.
root@server ~ # mysqladmin variables |grep -i open
| have_openssl | DISABLED | | innodb_open_files | 300 | | open_files_limit | 1024 | | table_open_cache | 64|
Para aumentar este valor, podemos configurarlo en my.cnf como se muestra a continuación (puede configurar cualquier valor deseado o requerido)
[mysqld]
open_files_limit = 9999
y luego guarde y reinicie el servicio mysql. Después de eso, puede ver que el valor cambió en la lista de variables de mysqladmin y el error debería desaparecer del registro de errores de mysql.
root@server ~ # mysqladmin variables |grep -i open
| have_openssl | DISABLED | | innodb_open_files | 300 | | open_files_limit |9999|