Solution how to fix following error generated in /var/log/syslog by mysqld service on Ubuntu 16.04 with MariaDB 10.0.x:
1 |
mysqld: 181210 [ERROR] Error in accept: Too many open files |
If you see message above you probably reached default limits of mysqld service. To set open files parameter limit as unlimited, follow steps below:
- Login as root:
1 |
sudo -i |
- Modify /etc/security/limits.conf:
1 |
nano /etc/security/limits.conf |
- And set mysql soft and hard limit for nofiles:
1 2 3 4 5 6 |
... mysql soft nofile 65535 mysql hard nofile 65535 # End of file |
- Save modified limits.conf and Reboot system:
1 |
sudo reboot |
- Create mysql.service.d folder to customize startup parameters and create limits.conf file:
1 2 |
mkdir -p /etc/systemd/system/mysql.service.d/ nano /etc/systemd/system/mysql.service.d/limits.conf |
- Into limits.conf insert following:
1 2 |
[Service] LimitNOFILE=infinity |
- Save file and restart mysqld service:
1 2 |
systemctl daemon-reload /etc/init.d/mysql restart |
- Check new limits of mysqld process:
1 |
cat /proc/$(cat /var/run/mysqld/mysqld.pid)/limits |
- Desired state after change:
1 2 3 4 |
Limit Soft Limit Hard Limit Units ... Max open files 1048576 1048576 files ... |
- By default mariadb has following:
1 2 3 4 |
Limit Soft Limit Hard Limit Units ... Max open files 1024 4096 files ... |
0 Comments.