当前位置:网站首页>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
边栏推荐
- CANoe的数据回放(Replay Block),还是要结合CAPL脚本才能说的明白
- 15 医疗挂号系统_【预约挂号】
- If a university wants to choose to study automation, what books can it read in advance?
- 美疾控中心:美国李斯特菌疫情暴发与冰激凌产品有关
- 大学C语言入门到底怎么学才可以走捷径
- Counter attack of noodles: redis asked 52 questions in a series, with detailed pictures and pictures. Now the interview is stable
- C杂讲 文件 续讲
- The 32-year-old fitness coach turned to a programmer and got an offer of 760000 a year. The experience of this older coder caused heated discussion
- 听哥一句劝,按这套嵌入式的课程内容和课程体系去学习
- June brush question 02 - string
猜你喜欢
嵌入式开发比单片机要难很多?谈谈单片机和嵌入式开发设计经历
33岁可以学PLC吗
Counter attack of noodles: redis asked 52 questions in a series, with detailed pictures and pictures. Now the interview is stable
C杂讲 双向循环链表
Hero League rotation chart manual rotation
How can I take a shortcut to learn C language in college
16 医疗挂号系统_【预约下单】
17 medical registration system_ [wechat Payment]
嵌入式开发中的防御性C语言编程
What you have to know about network IO model
随机推荐
Safety notes
嵌入式开发中的防御性C语言编程
美新泽西州州长签署七项提高枪支安全的法案
Automation sequences of canoe simulation functions
在CANoe中通過Panel面板控制Test Module 運行(初級)
Nc17 longest palindrome substring
The real future of hardware engineers may not be believed by you if I say so
If a university wants to choose to study automation, what books can it read in advance?
安装OpenCV时遇到的几种错误
颜值爆表,推荐两款JSON可视化工具,配合Swagger使用真香
Cmooc Internet + education
Southwest University: Hu hang - Analysis on learning behavior and learning effect
[deep learning] semantic segmentation: thesis reading (neurips 2021) maskformer: per pixel classification is not all you need
如何让shell脚本变成可执行文件
Installation de la pagode et déploiement du projet flask
竞赛vscode配置指南
CANoe仿真功能之自动化序列(Automation Sequences )
C miscellaneous lecture continued
硬件工程师的真实前途我说出来可能你们不信
[flask] crud addition and query operation of data