Потому что я получаю errno=24
на несколько запросов в моей тестовой среде (Fedora 18 работает mysql-server.x86_64 5.5.31-1.fc18
), Я пытаюсь увеличить лимит открытых файлов для mysqld.
Я уже изменил лимиты ОС в /etc/security/limits.conf
, и переключившись на пользователя mysql, я могу протестировать с ulimit -a
что они действительно вступили в силу.
Я также добавил следующее в /etc/my.cnf
[mysqld]
#...
open_files_limit = 10000
и перезапускал службу (и даже физический компьютер) несколько раз, но проверяя переменные во время работы сервера, open_files_limit
всегда 1024. Я пробовал open-files-limit
а также, поскольку некоторые из примеров, которые я нашел в Интернете, противоречивы или неоднозначны, но с тем же результатом.
Думая, что файл не читается, я попытался добавить еще одну переменную, и, конечно же, если я добавлю и изменю другие переменные, они будут обновлены в значениях переменных времени выполнения, но никогда open_files_limit
.
Итак, моей следующей мыслью было, что, возможно, my.cnf
файл заменяется другим где-то еще в системе, но
[root@host /]# find . -name "*y.cnf"
./etc/my.cnf
Поэтому я не думаю, что есть какие-либо другие файлы cnf (плюс места, перечисленные в сайт разработчиков нет).
Я в недоумении - что могло заставить mysql не принимать значение для open_file_limit
?
cat /usr/lib/systemd/system/mysqld.service
# For example, if you want to increase mysql's open-files-limit to 10000, # you need to increase systemd's LimitNOFILE setting, so create a file named # "/etc/systemd/system/mysqld.service.d/limits.conf" containing: # [Service] # LimitNOFILE=10000