J'ai eu cette erreur lors de la migration d'un grand nombre de comptes d'un serveur cpanel à un autre.
[ERREUR] /usr/sbin/mysqld :Impossible d'ouvrir le fichier : './dbname/tablename.frm' (errno :24)
errno: 24
signifie qu'il y a trop de fichiers ouverts. Il existe une variable mysql nommée "open_files_limit"
qui montre combien de fichiers ouverts sont autorisés dans mysql par défaut. Nous ne pouvons pas mettre à jour cette valeur à l'aide de la commande "Définir", car cette variable est une variable en lecture seule.
root@server ~ # mysqladmin variables |grep -i open
| have_openssl | DISABLED | | innodb_open_files | 300 | | open_files_limit | 1024 | | table_open_cache | 64|
Pour augmenter cette valeur, nous pouvons définir ceci dans my.cnf comme ci-dessous (vous pouvez définir n'importe quelle valeur souhaitée ou valeur requise)
[mysqld]
open_files_limit = 9999
puis enregistrez et redémarrez le service mysql. Après cela, vous pouvez voir que la valeur est modifiée dans la liste des variables mysqladmin et que l'erreur doit disparaître du journal des erreurs mysql.
root@server ~ # mysqladmin variables |grep -i open
| have_openssl | DISABLED | | innodb_open_files | 300 | | open_files_limit |9999|