一、原因分析:
my.ini 中设定的并发连接数太少或者系统繁忙导致连接数被占满。
连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout 都有关。
wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
二、解决方式:
打开 MYSQL 安装目录打开 my.ini 找到 max_connections 默认是 100, 一般设置到500~1000比较合适,重启 MySQL 服务
显示哪些线程正在运行:
|
状态:
1. SLEEP
线程正在等待客户端发送新的请求。
2. QUERY
线程正在执行查询或者正在将结果发送给客户端。
3. LOCKED
在MYSQL服务层,该线程正在等待表锁。在存储引擎级别实现的锁,如INNODB的行锁,并不会体现在线程状态中。 对于MYISAM来说这是一个比较典型的状态。但在其他没有行锁的引擎中也经常会出现。
4. ANALYZING AND STATISTICS
线程正在收集存储引擎的统计信息, 并生成查询的执行计划。
5. COPYING TO