Tato chyba se mi zobrazila při migraci velkého množství účtů z jednoho serveru cpanelu na druhý.
[CHYBA] /usr/sbin/mysqld:Nelze otevřít soubor:„./dbname/tablename.frm“ (chyba:24)
errno: 24
znamená, že je příliš mnoho otevřených souborů. Existuje proměnná mysql s názvem „open_files_limit"
který ukazuje, kolik otevřených souborů je ve výchozím nastavení povoleno v mysql. Tuto hodnotu nemůžeme aktualizovat pomocí příkazu „Set“, protože tato proměnná je proměnná pouze pro čtení.
root@server ~ # mysqladmin variables |grep -i open
| have_openssl | DISABLED | | innodb_open_files | 300 | | open_files_limit | 1024 | | table_open_cache | 64|
Pro zvýšení této hodnoty to můžeme nastavit v my.cnf jako níže (můžete nastavit libovolnou požadovanou hodnotu nebo požadovanou hodnotu)
[mysqld]
open_files_limit = 9999
a poté uložte a restartujte službu mysql. Poté můžete vidět, že se hodnota změnila v seznamu proměnných mysqladmin a chyba by měla být odstraněna z protokolu chyb mysql.
root@server ~ # mysqladmin variables |grep -i open
| have_openssl | DISABLED | | innodb_open_files | 300 | | open_files_limit |9999|