table_open_cache — количество кэшированных открытых таблиц для всех потоков. Открытие таблиц – ресурсоёмкий процесс, по этому рекомендуется определенное количество таблиц держать открытыми в кэше.
Посмотрим текущее значение (по умолчанию 2000, минимальное 1, максимальное 524288):
mysql -u root -p
show variables like "table_open_cache";
Количество открытых таблиц можно посмотреть командой:
SHOW STATUS LIKE 'Opened_tables';
Если необходимо изменить значение не останавливая MySQL сервер, то:
set global table_open_cache=8192;
Чтобы значение не сбросилось после перезапуска MySQL сервера, откроем файл конфигурации в текстовом редакторе:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
И укажем:
table_open_cache=8192
Значение «open_files_limit» должно быть больше значения «table_open_cache».
Смотрите также мою статью:
Как изменить open_files_limit в MySQL