LINUX.ORG.RU

mysql и max open files 1024

 ,


1

2

В Ubuntu 15.04 столкнулся с проблемой mysql: max open files 1024. Когда количество открытых файлов достигает 1024 mysql перестаёт отвечать.

в my.cnf [mysql] open_files_limit = 2048

/etc/security/limits.conf

mysql soft nofile 2048 mysql hard nofile 4096

* soft nofile 2048 * hard nofile 4096

В /etc/pam.d/su раскоментировал session required pam_limits.so Потом ulimit -n 2048 После перезагрузки ulimit -n равен 1024

cat /proc/6205/limits *** Max open files 1024 4096 files ***

В /etc/init.d/mysql раскоментировал ulimit -n Толку никаго. Подскажите куда ещё смотреть или где накосячил.

по моему это затык не СУБД, а лимит файлов на процесс. /etc/sysctl.conf ?

darkenshvein ★★★★★ ()
Ответ на: комментарий от darkenshvein

Командой prlimit --nofile=2048 --pid 15820 изменил лимит на лету, но это до перезагрузки

Vgefner ()

Значение в limits.conf влияет только на пользовательские сессии. Так как сервисами теперь управляет systemd, то нужно настраивать там.

1. Создайте каталог /etc/systemd/system/mysql.service.d

2. Создайте в нём файл nofile.conf со следующим содержимым:

[Service]
LimitNOFILE=2048

3. systemctl daemon-reload

4. systemctl restart mysql

anonymous ()
Ответ на: комментарий от anonymous

Там специально для тех, кто умеет пользоваться не только сустемд строчка:
«В /etc/init.d/mysql раскоментировал ulimit -n Толку никаго. Подскажите куда ещё смотреть или где накосячил.»

AnDoR ★★★★★ ()
Ответ на: комментарий от anonymous

Огромное спасибо, теперь всё работает
Каталог создавать не стал, в

 /etc/systemd/system/
лежит файл mysql.service
в секцию [Service] дописал LimitNOFILE=2048, далее
systemctl daemon-reload
systemctl restart mysql

/etc/systemd/system/mysql.service

# MySQL systemd service file

[Unit]
Description=MySQL Community Server
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
PermissionsStartOnly=true
ExecStartPre=/usr/share/mysql/mysql-systemd-start pre
ExecStart=/usr/bin/mysqld_safe
ExecStartPost=/usr/share/mysql/mysql-systemd-start post
TimeoutSec=600
Restart=on-failure
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755
LimitNOFILE=2048
Vgefner ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.