Open_files_limit в MySQL

open_files_limit в MySQL — параметр в конфигурационном файле /etc/mysql/my.cnf, позволяющий задать максимальное возможное количество открытых файлов. Сервер баз данных может оказаться неработоспособен из-за попытки открытия файлов в большем количестве, чем задано этой директивой.

 

Как изменить значение open_files_limit в MySQL

По умолчанию значение open_files_limit установлено в 1024

Посмотреть актуальное фактическое значение можно при помощи lsof

lsof -u mysql | wc -l

Если значение близко к 1024 в блок [mysqld] my.cnf нужно добавить (или скорректировать существующее значение):

mcedit /etc/mysql/my.cnf

open_files_limit = 2000

 

Затем MySQL перезапускается

/etc/init.d/mysqld restart

 

Через консоль MySQL значение поменять нельзя, сделать это можно было бы так:

SET @ @global.open_files_limit =2000

Поскольку переменная существует в read-only режиме изменить ее значение можно только в конфиге.

Делать это нужно если в логи MySQL или пишутся ошибки, из которых следует что достигнуто количество файлов, которые можно открыть или если такие записи выводятся в браузер пользователя, обращающегося к сайту.

Часто отображается ошибка ERROR mysqld: Can't open file (errno: 24), но могут быть и другие.

 

Читайте также о том как включить логи ошибок MySQL и правильно настроить сервер баз данных для работы при высоких нагрузках.