MySQL数据库的默认最大连接数是:100,

对于多人开发的单体项目来说,虽然我们同时在用的连接不会超过10个,理论上100 绰绰有余,但是除了我们正在使用的连接以外,还有很大一部分 Sleep 的连接,这个才是真正的罪魁祸首。

分析到了问题的根源,我们就需要对症下药,依次解决:

修改MySQL最大连接数量

首先查看当前 Mysql 最大连接数量是多少:

show variableslike'%max_connections%';

这里我已经修改过了,所以是 1000,没有改过的童鞋应该还是 100,

然后查看从这次 mysql 服务启动到现在,同一时刻并行连接数的最大值:

show statuslike'Max_used_connections';

对于 MySQL 的最大连接数设置,在首次配置的时候设置一个较大的数值,以后在使用的过程中,周期的查询 Max_used_connections 然后根据他的值和服务器的性能确定一个最适合当前项目的最大连接数

最大连接数的修改有两种方式

使用 sql 语句(立即生效,但服务器重启后失效):

setglobalmax_connections = 1000;

1修改 /etc/my.cnf.添加 max_connections = 1000 永久有效。重启后生效

但更改最大连接数只能从表面上解决问题,随着我们开发人员的增多,Sleep 连接也会更多,到时候万一又达到了 1000 的上限,难道我们又得改成 10000 吗?这显然是非常不可取的。所以我们不仅要治标,还要治本。杀掉多余的 Sleep 连接就是治本

杀掉Sleep连接

我们可以通过 show_processlist 命令来查看当前的所有连接状态

可以发现, Sleep 的连接占了绝大多数。

MySQL 数据库有一个属性 wait_timeout 就是 sleep 连接最大存活时间,默认是 28800 s,换算成小时就是 8 小时,我的天呐!这也太长了!严重影响性能。相当于今天上班以来所有建立过而未关闭的连接都不会被清理。

执行命令:

showglobalvariableslike'%wait_timeout';

我们将他修改成一个合适的值,这里我改成了 250s。当然也可以在配置文件中修改,添加 wait_timeout = 250。这个值可以根据项目的需要进行修改,以 s 为单位。我在这里结合 navicat 的超时请求机制配置了 240s。

执行命令:

setglobalwait_timeout=250;

mysql连接数怎么清理_MySQL连接数太多应该怎么解决?相关推荐

  1. win10连接mysql服务器频繁断线_MySQL连接数过多导致服务无法正常运行

    [Mysql并发和连接数] mysql并发数:netstat -ant |find /i "ESTABLISHED" |find /i ":3306 " /c ...

  2. mysql连接量设置_mysql连接数设置操作方法(Too many connections)

    mysql在使用过程中,发现连接数超了~~~~ [root@linux-node1 ~]# mysql -u glance -h 192.168.1.17 -p Enter password: ERR ...

  3. mysql连接数是否满_MySQL 连接数满情况的处理

    Can not connect to MySQL server. Too many connections"-mysql 实际工作场景中我们应该都会遇到类似的故障,一般都是处理表面参数解决, ...

  4. mysql 存储过程插入慢_mysql存储过程太慢怎么办

    mysql存储过程太慢的解决方法:首先打开my.cnf配置文件:然后添加配置[long_query_time=1]:接着通过[tail -f /tmp/logs/mysqld.log]命令监控sql: ...

  5. mysql数据库优化清理_mysql 数据库优化整理

    内连接 -- inner join 内连接在不加on的情况下, 也是去求笛卡尔乘积. 不加on的用法并不推荐使用, 容易造成内存溢出的情况. 加on的时候, 在连表的时候, 就会对数据进行筛选, 以此 ...

  6. mysql磁盘临时表清理_mysql 创建大量磁盘临时表

    发现 mysql 中创建的临时表基本都是磁盘临时表,对此进行排查.最后为临时表机制说明. 通过查看 mysql 状态变量,看到创建的临时表基本都是磁盘临时表. 查看临时表配置,默认配置 16M,配置并 ...

  7. mysql联合索失效_mysql联合索引注意事项,解决为啥联合索引无效的问题

    在数据查询的时候合理利用索引才更好地提高查询效率.今天遇到一个数据量不算太大(1000万左右)的表,但是查询特别慢,建立了userid,logtype,fromid 发现索引无效,查阅相关资料后发现联 ...

  8. mysql blob 存储乱码_mysql 保存 blob 类型数据 乱码 解决

    本人问题:mysql 保存 blob 类型数据 乱码 解决 未解决,??? 之前 private string  archiveValue;导致 写入的进去之后的中文 都是乱码 改正后 ,即可 pri ...

  9. mysql安装模块解释_MySQL的模块不能安装的解决方法_MySQL

    我们最常用的 DBD::mysql 模块,我发现是难住很多人的地方.因为安装老是失败,下面我介绍一下解决方法,比如我使用 cpanm 安装,有时就出 /home/nue2501j/work/DBD-m ...

最新文章

  1. 【Cocos2dx开发】精灵
  2. 树莓派4直接运行linux,树莓派4最小化安装Linux
  3. C#WebApi路由机制详解
  4. BGP聚合as-set advertise-map
  5. hihocoder 1689 - 推断大小关系(图论+二分)
  6. 容器编排技术 -- Kubernetes Nodes
  7. Linux内核 eBPF基础:perf(4)perf_event_open系统调用与用户手册详解
  8. Python——调用shell命令的三种方法
  9. SpringCloud工作笔记044---SpringCloud分布式服务器配置要求_记录一下
  10. JVM执行子系统探究——类文件结构初窥
  11. 单元测试框架TestableMock快速入门(五):复用Mock类与方法
  12. php调京东联盟接口,使用京东联盟API获取自定义促销链接
  13. CentOS 5和6的启动流程
  14. N年前的实习记录 - 职场生涯应如何规划?
  15. 复化梯形公式c语言sinx x,复化梯形公式和复化辛卜生公式
  16. 勾股定理 —— 证明大全
  17. uva11134 -Fabled Rooks
  18. Android BMI程序设计
  19. IDC机房动力环境设备维护
  20. Win7蓝屏代码0X0000007B可能是SATA mode问题

热门文章

  1. 编程之美---数字之魅
  2. 佳能数码相机,不能安装驱动程序
  3. LruCache缓存图片+清除本地缓存
  4. Bigwig 可视化用 tackPlotR 试试看?
  5. 计算机网络——互联网上的音/视频服务
  6. 本人重装后的一些操作需求
  7. 了解 Tornado 框架
  8. MFC Windows程序设计学习笔记--文件和串行化
  9. actran安装教程linux,Linux平台Actran软件安装
  10. 目标检测论文核心思想,18-19-20年论文梗概