首页 > 数据库 >MySQL连接数太多解决方案

MySQL连接数太多解决方案

时间:2024-03-24 14:45:20浏览次数:30  
标签:show -- 解决方案 连接数 MySQL 连接 wait

MySQL数据库默认连接为100
对于多人开发的单体项目来说,虽然我们同时在用的连接不会超过10个,理论上100 绰绰有余,但是除了我们正在使用的连接以外,还有很大一部分 Sleep 的连接,这个才是真正的罪魁祸首。
修改MySQL最大连接数量,首先查看当前 Mysql 最大连接数量是多少:

show variables like '%max_connections%';

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

-- 查看最多用户连接
show status like'Max_used_connections';
-- 修改全局最多连接数
set global max_connections = 1000;
-- 或者修改 /etc/my.cnf 添加 max_connections = 1000 永久有效。重启后生效

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

-- 查看进程列表
show processlist;

MySQL 数据库有一个属性 wait_timeout 就是 sleep 连接最大存活时间,默认是 28800 s,换算成小时就是 8 小时,严重影响性能。相当于今天上班以来所有建立过而未关闭的连接都不会被清理。
我们将他修改成一个合适的值,这里我改成了 250s。当然也可以在配置文件中修改,添加 wait_timeout = 250。这个值可以根据项目的需要进行修改,以 s 为单位。我在这里结合 navicat 的超时请求机制配置了 240s。

-- 查看等待时间
show global variables like'%wait_timeout';
-- 等待时间250秒
set global wait_timeout=250;

标签:show,--,解决方案,连接数,MySQL,连接,wait
From: https://www.cnblogs.com/lymf/p/18092405

相关文章

  • 托管在 CloudFlare 的域名出现 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 的解决方案
    前言昨天托管在CF的域名突然没办法访问了,提示ERR_SSL_VERSION_OR_CIPHER_MISMATCH,用curl和一堆在线网站测速的发现都是sslhandshakefailed这种提示,一开始还以为是我自己的问题,百度一番无果后就睡了一觉,今天起来发现还是这样,顿时就感觉不对劲了,我的网站也没......
  • 智能停车场管理系统设计与实现|jsp+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读100套最新项目最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm,springboot的平台......
  • 医院预约挂号系统设计与实现|jsp+ Mysql+Java+ Tomcat(可运行源码+数据库+设计文档)
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读100套最新项目最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm,springboot的平台......
  • 智能停车场管理系统设计与实现|jsp+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读100套最新项目最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm,springboot的平台......
  • 沙县小吃点餐系统|基于JSP技术+ Mysql+Java的沙县小吃点餐系统设计与实现(可运行源码+
    推荐阅读100套最新项目最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm,springboot的平台设计与实现项目系统开发资源(可运行源代码+设计文档)目录1.前......
  • 一触即发,全栈联动:使用Docker Compose部署Spring Boot应用+MySQL+Redis实战指南
    在云原生时代的快车道上,DockerCompose无疑是那辆助您疾驰的豪华跑车,它凭借其简洁高效的YAML配置文件,让您能够轻松部署和管理包含SpringBoot应用、MySQL数据库以及Redis缓存服务在内的完整堆栈。本文将深入浅出地引导您通过一个docker-compose.yml文件来定义和配置这些服务,实......
  • Centos7 安装MySQL8后 加装 MySQL基准测试套件 (MySQL Benchmark Suite)
    CentOS7中安装MySQL8.3.0没有/usr/share/mysql/sql-bench下的BenchmarkSuite工具1.yum安装epel源yum-yinstallepel-release2.安装perl平台yum-yinstallperl*3.获得/usr/share/mysql/sql-benchwgethttps://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.......
  • 【MySQL】覆盖索引
    覆盖索引索引中已经包含了所有需要获取的字段的查询方式称为覆盖索引。举例说明假设我们有一个名为orders的数据库表,包含订单信息,其中包括order_id(订单ID)、customer_id(客户ID)、order_date(订单日期)、total_amount(订单总金额)等字段。如果我们经常需要查询某个客户的订单总金额......
  • Nvidia的Metropolis平台 —— AI监控解决方案和视频分析技术
    相关:https://baijiahao.baidu.com/s?id=1566933142821989&wfr=spider&for=pcNvidia的Metropolis平台是NVIDIA的主打的AI技术之一,看着新颖其实历史蛮久了。个人对这个产品的的定义就是监控视频自动报警系统。我们可以使用这个平台训练模型用来识别行人是否闯马路,是否有人......
  • 3.MySQL数据库的基本操作-DQL 基本操作
    MySQL数据库的基本操作-DQL基本操作查询select语法格式select[all|distinct]<目标列的表达式1>[别名],<目标列的表达式2>[别名]...from<表名或视图名>[别名],<表名或视图名>[别名]...[where<条件表达式>][groupby<列名>[having<条件表达式>]][o......