MySQL - Too many files open

in steempress •  6 years ago 

I run my servers on CentOS using cPanel/WHM. When I first started running my own server, it did not take long for me to see how little I know about Linux. I had a funky problem with my MySQL dropping out after so much time. It seemed like the more people I had on my sites, the faster it would go down. But after I rebooted the server, it all started working fine again… For a while anyway.

I got to looking around to see if there is a error log for MySQL. And sure enough there is. By default, the error log is located at:

/var/lib/mysql/**HOSTNAME**.err
The **HOSTNAME** would be your server’s hostname, (if you do not know your hostname, simply use the command “hostname” and it will output your hostname)

To view the last 500 lines of your error log, simply use:

tail -500 /var/lib/mysql/**HOSTNAME**.err
In my error log, I began to see this:
130925 12:39:23 [ERROR] Error in accept: Too many open files
130925 12:43:39 [ERROR] Error in accept: Too many open files
130925 12:47:55 [ERROR] Error in accept: Too many open files
130925 12:52:11 [ERROR] Error in accept: Too many open files
130925 12:56:27 [ERROR] Error in accept: Too many open files
130925 13:00:43 [ERROR] Error in accept: Too many open files
130925 13:04:59 [ERROR] Error in accept: Too many open files
130925 13:09:15 [ERROR] Error in accept: Too many open files
130925 13:13:31 [ERROR] Error in accept: Too many open files
130925 13:17:47 [ERROR] Error in accept: Too many open files
130925 13:22:03 [ERROR] Error in accept: Too many open files
130925 13:26:19 [ERROR] Error in accept: Too many open files
130925 13:30:35 [ERROR] Error in accept: Too many open files
 

Did a little bit of googling, and discovered that by default, centOS has a hard limit of the amount of files that can be opened at a time, which causes MySQL to error out until you reboot the server. However, this can be fixed by running the doing the following:

nano /etc/sysctl.conf
Add this line at the bottom of the config file:
fs.file-max = 100000
 

Save and close the file, then reboot the server.

After you rebbot your server, you will want to run the following command to verify that your settings was saved and correct:

sysctl fs.file-max
If it reads 10000, then your server is now ready to handle MySQL!

Originally posted at https://moreabout.tech/mysql-too-many-files-open/
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!