当前位置:网站首页>MySQL ERROR 1040: Too many connections
MySQL ERROR 1040: Too many connections
2022-07-06 10:02:00 【Learn from Tao Ge】
As the title , This chapter mainly talks about when the server appears ERROR 1040: Too many connections Some experience in dealing with mistakes .
max_connections see
## See the maximum number of connections
SHOW VARIABLES LIKE "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 512 |
+-----------------+-------+
## View the maximum number of connections used
SHOW VARIABLES LIKE 'Max_used_connections';
show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 499 |
+----------------------+-------+
Treatment scheme
There are generally two solutions to this problem , The solution is very easy , We just need to add max_connections The number of connections is enough .
Add to the current session mysql maximum connection
## modify
max_connections = 1000
above mysql The connection value is temporarily increased to 1000, But only for the current session . Once we restart mysql Service or restart the system , The value will be reset to the default value .
Permanently increase mysql maximum connection
In order to permanently increase mysql The number of connections , We need editors mysql The configuration file , namely /etc/my.cnf.
sudo vim /etc/my.cnf
How much expansion is appropriate ?Max_connextions It's not the bigger the better , So how to configure ?
Mode one
For improving MySQL Concurrent , A lot depends on memory , The official provided a report on innodb Of memory Calculation method :
innodb_buffer_pool_size
+ key_buffer_size
+ max_connections * (sort_buffer_size + read_buffer_size + binlog_cache_size)
+ max_connections * 2MB
Mode two
Installation scale expansion :
max_used_connections / max_connections * 100% = [85, 90]%
Maximum number of connections used / maximum connection Reached 80%~90% Section , Optimize or expand the proposed capacity .
Expand
Here are also several common effects MySQL Performance conditions :
Threads
SHOW STATUS LIKE 'Threads%';
+-------------------+--------+
| Variable_name | Value |
+-------------------+--------+
| Threads_cached | 1 |
| Threads_connected | 217 |
| Threads_created | 29 |
| Threads_running | 88 |
+-------------------+--------+
SHOW VARIABLES LIKE 'thread_cache_size';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| thread_cache_size | 10 |
+-------------------+-------+
- Threads_cached The number of threads in the cache
- Threads_connected The current number of open connections
- Threads_created Number of threads created to handle connections .
- Threads_running Number of threads not sleeping
If Threads_created Big , You may have to add thread_cache_size value . The cache miss ratio can be calculated as Threads_created / Connections
Check the table lock
SHOW GLOBAL STATUS LIKE 'table_locks%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| Table_locks_immediate | 90 |
| Table_locks_waited | 0 |
+-----------------------+-------+
- Table_locks_immediate The number of times a table lock request was immediately obtained
- Table_locks_waited The number of times a request for a table lock could not be obtained immediately , Need to wait . If this value is too high, there may be a performance problem , And affect the release of connections
The slow query
show variables like '%slow%';
+---------------------------+----------------------------------------------+
| Variable_name | Value |
+---------------------------+----------------------------------------------+
| slow_launch_time | 2 |
| slow_query_log | On |
+---------------------------+----------------------------------------------+
Thread details
## View the details of each thread
SHOW PROCESSLIST;
+--------+----------+------------------+--------------+---------+-------+-------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+----------+------------------+--------------+---------+-------+-------------+------------------+
| 3 | xxxadmin | localhost | NULL | Sleep | 1 | cleaning up | NULL |
| 4 | xxxadmin | localhost | NULL | Sleep | 0 | cleaning up | NULL |
| 5 | xxxadmin | localhost | NULL | Sleep | 6 | cleaning up | NULL |
+--------+----------+------------------+--------------+---------+-------+-------------+------------------+
summary
Of course , The above is just a general solution , Either way , Both need to be expanded in combination with actual business scenarios .
in addition , For production environment , Set the appropriate alarm threshold , It's also necessary .
Last , In programming , Because of the use of MySQL Statement calls the database to execute SQL, Will assign a thread operation MySQL, So at the end of the call , Need to recycle connection , Avoid leakage .
Reference resources
边栏推荐
- NLP routes and resources
- vscode 常用的指令
- Elk project monitoring platform deployment + deployment of detailed use (II)
- 再有人问你数据库缓存一致性的问题,直接把这篇文章发给他
- 14 医疗挂号系统_【阿里云OSS、用户认证与就诊人】
- [flask] crud addition and query operation of data
- Hero League rotation chart manual rotation
- CANoe不能自动识别串口号?那就封装个DLL让它必须行
- Defensive C language programming in embedded development
- CDC: the outbreak of Listeria monocytogenes in the United States is related to ice cream products
猜你喜欢

What you have to know about network IO model

C miscellaneous shallow copy and deep copy

Combined search /dfs solution - leetcode daily question - number of 1020 enclaves

Control the operation of the test module through the panel in canoe (Advanced)

16 医疗挂号系统_【预约下单】

C杂讲 文件 初讲

Which is the better prospect for mechanical engineer or Electrical Engineer?
![14 medical registration system_ [Alibaba cloud OSS, user authentication and patient]](/img/c4/81f00c8b7037b5fb4c5df4d2aa7571.png)
14 medical registration system_ [Alibaba cloud OSS, user authentication and patient]

嵌入式开发中的防御性C语言编程

单片机实现模块化编程:思维+实例+系统教程(实用程度令人发指)
随机推荐
CANoe仿真功能之自动化序列(Automation Sequences )
History of object recognition
MySQL實戰優化高手08 生產經驗:在數據庫的壓測過程中,如何360度無死角觀察機器性能?
安装OpenCV时遇到的几种错误
Upload vulnerability
Tianmu MVC audit II
If a university wants to choose to study automation, what books can it read in advance?
MySQL实战优化高手08 生产经验:在数据库的压测过程中,如何360度无死角观察机器性能?
Day 5 of MySQL learning
Counter attack of noodles: redis asked 52 questions in a series, with detailed pictures and pictures. Now the interview is stable
The governor of New Jersey signed seven bills to improve gun safety
美新泽西州州长签署七项提高枪支安全的法案
CDC: the outbreak of Listeria monocytogenes in the United States is related to ice cream products
学习单片机对社会的帮助是很大的
MySQL实战优化高手09 生产经验:如何为生产环境中的数据库部署监控系统?
Flash operation and maintenance script (running for a long time)
颜值爆表,推荐两款JSON可视化工具,配合Swagger使用真香
再有人问你数据库缓存一致性的问题,直接把这篇文章发给他
Compress decompress
docker MySQL解决时区问题