MySQL Error: Out of resources when opening file './db_name/table_name.MYD' (Errcode: 24)
Поскольку все коды ошибок я на память не помню, то первым делом заглянул в вывод perror:
$ perror 24 OS error code 24: Too many open files
Смотрим сколько разрешено открывать файловых дескрипторов пользователю mysql (пользователь, с правами которого работает MySQL сервер).
$ sudo su - mysql -c 'ulimit -n' 1024
Далее смотрим, сколько дескрипторов разрешено в MySQL:
$ mysql -se "show variables like 'open_files_limit'" Variable_name Value open_files_limit 1024
Увеличим лимит в 4 раза, до 4096:
$ echo 'mysql - nofile 4096' | sudo tee -a /etc/security/limits.d/mysql.conf $ sudo su - mysql -c 'ulimit -n' 4096
Если лимит не изменился, то нужно посмотреть где подключен pam_limits.so в конфигурации PAM.
$ grep -r limits /etc/pam.* /etc/pam.d/sshd:session required pam_limits.so /etc/pam.d/atd:session required pam_limits.so /etc/pam.d/login:session required pam_limits.so /etc/pam.d/sudo:session required pam_limits.so /etc/pam.d/cron:session required pam_limits.so /etc/pam.d/su:# session required pam_limits.so
Для Debian нужно добавить строку
session required pam_limits.so
в /etc/pam.d/common-session
$ echo 'session required pam_limits.so' | sudo tee -a /etc/pam.d/common-session
Осталось поправить конфиг MySQL, чтобы сервер начал использовать новый лимит. Для этого в my.cnf в секцию [mysqld] добавляем строчку
open_files_limit = 4096
Комментариев нет:
Отправить комментарий