При создании бекапа выскочина ошибка
mysqldump: Couldn't execute 'SHOW TRIGGERS LIKE 'logs'': Can't read dir of './mydatabase/' (errno: 24 - Too many open files) (1018)
Хотя в limits.conf указано значение 30000 и в my.cnf
open-files-limit = 20000
И процесс запущен с правильными параметрами
/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/error.log --open-files-limit=20000 --pid-file=/var/run/mysql.run --port=3306
su mysql
bash-4.2$ ulimit -Hn -Sn
open files (-n) 102400
open files (-n) 102400
Або
su - mysql -c 'ulimit -aHS' -s '/bin/bash'
Сам mysql тоже говорит, что все ок
mysq> show variables like 'open_files_limit'
| open_files_limit | 30000 |
Но оказалось, что systemd в Centos 7 плевал на все эти настройки и сам решает какие лимиты устанавливать
cat /proc/17070/limits
Limit Soft Limit Hard Limit Units
........
Max open files 1024 1024 files
Чтоб задать лимиты для mysql нужно делать теперь так
Создаем файл limits.conf в /usr/lib/systemd/system/mysqld.service.d
С таким содержимым:
[Service]
LimitNOFILE=20000
После чего применяем настройки systemd
systemctl --system daemon-reload
И рестартуем mysql
service mysql restart