论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
分布式数据库
›
mysql线上题目集合
mysql线上题目集合
没腿的鸟
论坛元老
|
2024-12-3 13:27:01
|
显示全部楼层
|
阅读模式
楼主
主题
1022
|
帖子
1022
|
积分
3066
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
1、too many connections
连接数目太多,可以先通过以下命令先调解最大连接数,得以连接上mysql举行题目排查。
临时修改:
gdb -p mysql进程id -ex "set max_connections=500" -batch
复制代码
gdb
:这是 GNU 调试器,用于调试步伐。
-p 16732
:这个选项告诉 gdb 附加到进程 ID 为 16732 的进程。这意味着 gdb 将连接到已经在运行的 MySQL 进程(假设 16732 是 MySQL 进程的 PID)。
-ex “set max_connections=500”
:这个选项允许你在 gdb 启动时实行一条命令。这里的命令是 set max_connections=500,意图是设置 max_connections 变量为 500。
-batch
:这个选项告诉 gdb 在实行完全部命令后退出。这样可以确保 gdb 不会进入交互模式,而是直接实行完命令并退出。
修改连接数后,连接上mysql,用以下命令排除下题目。
SHOW VARIABLES LIKE 'log_error'; -- mysql日志文件路径
SHOW FULL PROCESSLIST; -- 查询当前连接进程列表
SHOW VARIABLES LIKE 'max_%'; -- 查询最大连接数max_connections
SHOW GLOBAL STATUS LIKE 'Max_used_connections'; -- 查询mysql本次启动以来最多的连接数
SHOW STATUS LIKE 'Threads_connected'; -- 查询当前连接数量
SET GLOBAL max_connections = 300; -- 默认151,修改最大连接数
SET GLOBAL wait_timeout = 300; -- 默认8小时,设置连接的最大空闲时间为 8 小时,
SET GLOBAL interactive_timeout = 300; -- 默认8小时,设置交互式连接的最大空闲时间为 8 小时,如命令行,navicat中的查询都是以这个为准
SELECT SLEEP(30); -- 让查询暂停 30 秒
复制代码
通过mysql层面解决,在配置文件中永世修改最大连接数和空闲时间参数:
[mysqld]
max_connections = 300
wait_timeout = 300
interactive_timeout = 300
复制代码
通过代码步伐层面解决,如步伐bug,连接池配置,以下为dbcp连接池配置:
详细参考官网:DBCP连接池官网
<!-- 默认8 最大连接数 -->
<property name="maxActive" value="40"/>
<!-- 默认8 最大空闲连接数,一般为最大连接数的一半 -->
<property name="maxIdle" value="20"/>
<!-- 单位ms 获取连接的最大等待时间。如果超过这个时间仍然无法获取到连接,则抛出异常。设置为5-10秒是一个合理的范围。 -->
<property name="maxWait" value="10000"/>
<property name="defaultAutoCommit" value="true"/>
<property name="removeAbandoned" value="true"/>
<!-- 单位s 如果一个连接在7200秒内没有被归还到连接池,DBCP会认为这个连接已经被遗弃,并自动关闭它。 -->
<property name="removeAbandonedTimeout" value="7200"/>
<property name="logAbandoned" value="true"/>
<!-- 默认null 用于验证连接的SQL查询 -->
<property name="validationQuery" value="select 1"/>
<!-- 默认false 连接空闲时对其进行验证 -->
<property name="testWhileIdle" value="true"/>
<!-- 单位ms,默认-1不执行 空闲连接回收器线程运行的时间间隔,仅testWhileIdle为true时执行 -->
<property name="timeBetweenEvictionRunsMillis" value="30000"/>
<!-- 单位ms,默认1800000L 连接在池中空闲的最短存活时间 -->
<property name="minEvictableIdleTimeMillis" value="18000"/>
<!-- 默认3 每次运行空闲对象回收器线程时要检查的对象数量 -->
<property name="numTestsPerEvictionRun" value="3"/>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
没腿的鸟
论坛元老
这个人很懒什么都没写!
楼主热帖
CVE-2022-23131 Zabbix SAML SSO认证绕 ...
iOS全埋点解决方案-采集崩溃 ...
【ollama】Linux下更改ollama模型下载 ...
同一个网络下两台设备看直播时,进度不 ...
iOS 苹果集成登录及苹果图标的制作要求 ...
java代码审计-XSS
北斗授时产品(GPS北斗授时设备)加NTP ...
【密码管理器】上海道宁为您提供存储和 ...
Doris(七) -- 修改表、动态和临时分区 ...
Python工具箱系列(六)
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
Mysql
MES
快速回复
返回顶部
返回列表