Solution to the problem that the number of MySQL connections is limited to 214 in CentOS 7

Solution to the problem that the number of MySQL connections is limited to 214 in CentOS 7

Find the problem

Recently, I encountered a problem in the project. Due to too many connections, the prompt "Too many connections" appeared and I needed to increase the number of connections.

I modified in /etc/my.cnf:

max_connections = 2000

However, the actual number of connections is always limited to 214:

mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 214 |
+-----------------+-------+
1 row in set

think

If I set the number of connections to less than 214, for example 200, then the actual number of connections is 200, which means there is no problem with my configuration file.

Check the MySQL official documentation, which says:

The maximum number of connections MySQL can support depends on the quality of the thread library on a given platform, the amount of RAM available, how much RAM is used for each connection, the workload from each connection, and the desired response time. Linux or Solaris should be able to support at 500 to 1000 simultaneous connections routinely and as many as 10,000 connections if you have many gigabytes of RAM available and the workload from each is low or the response time target undemanding. Windows is limited to (open tables × 2 + open connections) < 2048 due to the Posix compatibility layer used on that platform.
Increasing open-files-limit may be necessary. Also see Section 2.5, “Installing MySQL on Linux”, for how to raise the operating system limit on how many handles can be used by MySQL.

It probably means that the maximum number of connections that MySQL can support is limited by the operating system. If necessary, you can increase the open-files-limit. In other words, the number of connections is related to the number of file opens.

Workaround

[root@sqzr ~]# ulimit -n
1024

It can be seen that the maximum file descriptor limit of the operating system is 1024.

To change the maximum file descriptor limit for MySQL in Linux, edit the /usr/lib/systemd/system/mysqld.service file and add the following to the end of the file:

LimitNOFILE=65535
LimitNPROC=65535

After saving, execute the following command to make the configuration take effect

$ systemctl daemon-reload
$ systemctl restart mysqld.service

The actual number of connections has reached 2000.

mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 2000 |
+-----------------+-------+
1 row in set

refer to

https://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html

https://www.oschina.net/question/853151_241231

Summarize

The above is the full content of this article. I hope that the content of this article can bring some help to your study or work. If you have any questions, you can leave a message to communicate. Thank you for your support of 123WORDPRESS.COM.

You may also be interested in:
  • Python connects to the database MySQL decompressed version installation configuration and encountered problems
  • Detailed explanation of how to view the current number of MySQL connections
  • Mysql view the maximum number of connections and modify the maximum number of connections
  • Summary of tips for setting the maximum number of connections in MySQL
  • How to set the number of mysql connections (Too many connections)
  • Perfect solution to the problem that MySQL cannot connect to the database through localhost
  • How to use Java Web to connect to MySQL database
  • Python 3.x database connection example (pymysql method)
  • PHP mysql operation mysql_connect connection database instance detailed explanation
  • Summarize two ways to modify the maximum number of connections in MySQL
  • How to set and get the number of Mysql connections

<<:  Implementation of adding visit count function in github+Jekyll blog in one minute with JS

>>:  ffmpeg Chinese parameter description and usage examples

Recommend

How to deploy redis in linux environment and install it in docker

Installation Steps 1. Install Redis Download the ...

Analysis and application of irregular picture waterfall flow principle

The layout problem of irregular picture walls enc...

Write a shopping mall card coupon using CSS in three steps

Today is 618, and all major shopping malls are ho...

Summary of MySQL5 green version installation under Windows (recommended)

1 Download MySQL Download address: http://downloa...

JavaScript implements single linked list process analysis

Preface: To store multiple elements, arrays are t...

JS implements multiple tab switching carousel

Carousel animation can improve the appearance and...

Screen command and usage in Linux

Screen Introduction Screen is a free software dev...

Detailed discussion of memory and variable storage in JS

Table of contents Preface JS Magic Number Storing...

Tutorial on installing and configuring MySql5.7 in Alibaba Cloud ECS centos6.8

The default MySQL version under the Alibaba Cloud...

MySQL 5.7 installation and configuration tutorial under CentOS7 64 bit

Installation environment: CentOS7 64-bit MINI ver...

Tutorial on downloading, installing, configuring and using MySQL under Windows

Overview of MySQL MySQL is a relational database ...

Oracle VM VirtualBox installation of CentOS7 operating system tutorial diagram

Table of contents Installation Steps Environment ...