Ошибка возникает ввиду того, что MySQL не может открыть больше файлов, чем позволено. Вследствие этого весь сервис MySQL может начать работать некорректно.
Как проверить текущий лимит
$ mysql -u<user> -p -e "SHOW VARIABLES LIKE 'open%'"
Значение по умолчанию — 1024, что довольно мало.
Как исправить
В некоторых источниках предлагается просто добавить строку в /etc/my.cnf:
[mysqld]
open_files_limit = 100000
Однако этот вариант, как правило, не приводит к результату.
Более правильный вариант — изменить конфигурацию сервиса mariadb. Для этого на CentOS нужно отредактировать файл:
/etc/systemd/system/mariadb.service.d/limits.conf
и добавить в него следующее содержимое:
[Service]
LimitNOFILE=100000
После чего выполнить:
$ systemctl daemon-reload
$ service mariadb restart
Проверяем, что лимиты применились:
$ mysql -u<user> -p -e "SHOW VARIABLES LIKE 'open%'"
Добавить комментарий