Mysql Too many connections解决方案
Too many connections
从字面理解,mysql连接数过多。当连接数量过多,且来不及释放时便会出现此错误。
查看mysql当前连接信息,特别要注意sleep休眠状态的连接。
show full processlist;
Command 状态:
- SLEEP
线程正在等待客户端发送新的请求。
- QUERY
线程正在执行查询或者正在将结果发送给客户端。- LOCKED
在MYSQL服务层,该线程正在等待表锁。在存储引擎级别实现的锁,如INNODB的行锁,并不会体现在线程状态中。对于MYISAM来说这是一个比较典型的状态。但在其他没有行锁的引擎中也经常会出现。ANALYZING AND STATISTICS 线程正在收集存储引擎的统计信息,并生成查询的执行计划。- COPYING TO TMP TABLE (ON DISK)
线程正在执行查询,并且将其结果集都复制到一个临时文件中,这种状态一般要么是在做GROUP BY操作,要么是文件排序操作,或者是UNION操作。如果这个状态后面还有ON DISK的标,那表示MYSQL正在将一个内存临时表放到磁盘上。- SORTING RESULT
线程正在对结果集进行排序。- SENDING DATA
线程可能在多个状态之间传送数据,或者生成结果集,或者在向客户端返回数据。
查看mysql设置的最大连接数
show global variables like 'max_connections';
服务器响应的最大连接数
show global variables like 'Max_used_connections';
建议:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。
Max_used_connections/max_connections * 100% >=10%
如果最大连接数量没问题,而sleep休眠状态的连接过多,则应该从两方面注意:
- 1。 wait_timeout 空闲等待超时时间
- 2。 interactive_timeout 交互超时时间(通过mysql客户端连接数据库是交互式连接)
需要主题:wait_timeout设置过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能。如果设置过小,可能会遭遇到“MySQL has gone away”之类的问题。
要想从根本上解决sleep过多的问题,需从以下面三点排查:
- 1。程序连接mysql,不使用持久链接。即使用mysqli_connect而不是pconnect。
- 2。程序执行结束,主动显式调用mysqli_close来释放连接资源。
- 3。解决程序中的SQL慢查询语句。
最后快速解决过程
set GLOBAL max_connections = 500;
set GLOBAL wait_timeout = 300;
set GLOBAL interactive_timeout = 600;
转载于:https://blog.51cto.com/phpme/2357969
Mysql Too many connections解决方案相关推荐
- MySQL:Database connections will be migrated官方说明
2019独角兽企业重金招聘Python工程师标准>>> Database connections will be migrated Posted by: Max Hugen Dat ...
- MySql Unknown column 的解决方案
MySql Unknown column 的解决方案 参考文章: (1)MySql Unknown column 的解决方案 (2)https://www.cnblogs.com/liun1994/p ...
- c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driver的解决方案
c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driver的解决方案 参考文章: (1)c3p0数据源配置抛出Could not load ...
- MySQL Replication 主从复制全方位解决方案
MySQL Replication 主从复制全方位解决方案 参考文章: (1)MySQL Replication 主从复制全方位解决方案 (2)https://www.cnblogs.com/clsn ...
- mysql5.7 too many_Mysql 错误too many connections解决方案
Mysql 错误提示too many connections,最近遇到这个错误,经过上网查资料解决了,这里记录下,帮助有需要的朋友, 解决方法是修改/etc/mysql/my.cnf,添加以下一行: ...
- hibernate连接mysql密码错误,hibernate+mysql too many connections错误
问题分析: 使用Hibernate连接MySQL,多次执行查询操作后会出现以下异常(执行查询的次数等于MySQL的max-connection参数的值): Data source rejected e ...
- Mysql Too many connections
整理Mysql "Too many connections" 解决办法_Curry_liang-CSDN博客 为了防止发生too many connections时候无法登录的问题 ...
- PHP——PHP读取MySQL数据库中文乱码解决方案
问题描述 PHP读取MySQL数据库中文乱码 解决方案 静态页面 <head> <metahttp-equiv="Content-Type"content=&q ...
- linux mysql 忘记root密码_Linux MySQL忘记root密码解决方案
在使用MySQL数据库时,由于某些原因长时间没有登陆MySQL,或者由于工作交接完成度不高,导致数据库root登陆密码忘记,如何解决? 一.更改my.cnf配置文件 1.用命令编辑/etc/my.cn ...
- linux忘记mysql登录用户密码_linux中忘记mysql用户root密码解决方案
1.vim /etc/my.cnf [mysqld] skip-grant-tables ##追加此行,跳过权限表, 2.重启mysql systemctl restart mysqld 3.mysq ...
最新文章
- 部署在sae上的servlet程序出现is not a javax.servlet.Servlet 错误
- .NET静态类的概念
- ubuntu导入第三方库_在Ubuntu中,如何添加Apt存储库
- 【BZOJ 4555】 4555: [Tjoi2016Heoi2016]求和 (NTT)
- Coursera自动驾驶课程第6讲:Vehicle Longitudinal Control
- 服务器启动将字典加载到内存中@PostConstruct
- Yii 2.0 权威指南(7) 关键概念
- 使用WebPack构建UMD库兼容性原理浅谈
- 计算机excel还原,Excel文件恢复方法
- 【190115】VC++ MDI音频文件列表播放源代码
- three.js透视投影相机PerspectiveCamera
- java疯狂龙卷风游戏_疯狂龙卷风游戏
- 零基础学前端系列教程 | 和前端谈恋爱的第002天——约会邀请
- Python报错:‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated \UXXXXXXXX escape
- 如何换主题不被搜索降权
- Openshift 学习一(搭建Openshift环境)
- 计算机网络系统互联,关于计算机网络系统的开放性结构与网络互联
- 光机电一体化高速分拣实训系统
- Python 爬取起点的小说(非vip)
- 单片机驱动继电器(光耦)