Bobcares

open_files_limit MySQL – Here’s how it relates to max_connections

by | Apr 3, 2020

Is the MySQL open_files_limit variable creating errors? We can help you.

In MySQL, open_files_limit is the number of file descriptors available to mysqld from the operating system.

At Bobcares, we often get requests to set MySQL variables, as a part of our Server Management Services.

Today, our Support Engineers will give an idea about how open_files_limit in MySQL relates to max_connections.

 

What is open_files_limit in MySQL?

A file descriptor is the number of open files in the server. In MySQL, we have a variable that stores the number of file descriptors available for mysqld and that is, open_files_limit.

MySQL server needs file descriptors to open new connections, store tables in the cache, create temporary tables, etc.

The open_files_limit is a soft limit set by MySQL. The operating system determines the hard limit on file descriptors.

That is why, even if the open_files_limit variable is set to a high value, mysqld service shows the warning,

[Warning] Could not increase number of max_open_files to more than xxxx

So, let’s see how to set this limit in MySQL.

 

How to set open_files_limit in MySQL?

Many operating systems permit us to increase the open_files_ limit. But the method varies widely from system to system. For systemd based systems, we edit it as follows,

Firstly, edit the MySQL configuration file in the server. That is, /etc/my.cnf,

Then add the following lines:

[Service]
LimitNOFILE=8192

And finally, restart the server.

systemctl restart mysql

Later we check the variable in MySQL.

open_files_limit MySQL

 

How is this related to max_connections?

Recently, one of our customers approached us saying that he is not able to increase his max_connections value above 214.

He had specified the value in MySQL configuration and it is automatically decreased to the default value 151.

So, our Support Engineers checked in detail and found the exact problem.

Usually, increasing the value of max_connections increases the number of file descriptors that mysqld requires.

If the open_files_limit is not available, the server reduces the value of max_connections.

The table_open_cache and max_connections system variables affect the maximum number of files the server keeps open.

If we increase one of these values, we may end up at the limit imposed by the OS on the number of open file descriptors per process.

So, at first, we increased the open_files_limit and tried increasing the value of max_connections.

Finally, this helped to fix the problem.

 

[Having trouble with MySQL servers? Our Engineers can fix it.]

 

Conclusion

In short, open_files_limit in MySQL is the number of file descriptors available for the mysqld process. Today, we saw our Support Engineers increased this limit to increase the max_connections variable in MySQL.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF