看 MySQL Too many open files 报错监控截图丢给 AI 如何解决
社区王牌专栏《一问一实验:AI 版》全新改版归来,得到了新老读者们的关注。其中不乏对 ChatDBA 感兴趣的读者前来咨询,表达了想试用体验 ChatDBA 的意愿,对此我们表示感谢 🤟。
目前,ChatDBA 还在最后的准备阶段,会尽快跟大家见面。想预约试用的朋友,可以扫码文末的 意见反馈 填写调研问卷。我们正在对 DBA 群体试用大模型的情况进行调研,这对我们打磨 ChatDBA 的使用体验非常重要。
下面让我们正式进入《一问一实验:AI 版》的第 54 期。
问题
MySQL 报错:Too many open files 怎么处理?
实验
1. 将问题丢给 ChatDBA
我们先把这个问题丢给 ChatDBA,让他看下具体出了什么问题。
左侧为流程分析画布,展示 ChatDBA 对此问题的排查逻辑;右侧为互动区域
2. ChatDBA 协助问题排查
我们将问题输入进 ChatDBA 后,系统反馈先进行信息的收集。
这里 ChatDBA 要求输入一些系统的基本情况,因为该报错很有可能是由于文件描述符数量引起的,要求输入的信息分别为:
- open_files_limit
- ulimit -n
- Innodb open files
open_files_limit
ulimit -n
innodb_open_files
这时,ChatDBA 发现这些配置基本上满足需求,所以要求输入文件打开的数量、临时表情况等,所以接下来就将当时系统的监控图片上传到 ChatDBA。
首先,ChatDBA 准确的识别出了监控图像的内容,同时也猜测虽然参数配置的合理,但是临时文件过多是导致该问题的主要原因,通过查看监控也发现,确实临时文件在报错期间增长很快。
ChatDBA 接下来推测是慢查询导致的临时文件过多,所以要求我们输入对应的慢查语句。
接下来我们将对应的 SQL 语句给到 ChatDBA,这时他根据经验推测了一个原因是由于该语句未充分利用到索引,所以让我们给出对应的执行计划。
3. ChatDBA 给出解决方案
我们将 EXPLAIN 的结果截图给到 ChatDBA 后,发现其根据截图内容推测出了问题关键,并且给到了对应的解决方案。
4. 实验总结
这个案例比较有趣,一般情况下 Too many open files
报错和文件描述符配置不当有关。但是该案例中,是由于数据表没有有效的利用到索引导致,后续观察表结构发现,JOIN 关联条件中等号左右两个字段的数据类型不同,一个是 VARCHAR 类型一个是 INT 类型,所以导致该条 SQL 语句没法用到索引,进而创建了非常多的临时文件,所以导致了报错。
问问 ChatGPT-4o
我们也将相同的问题送给了 ChatGPT-4o,让我们看看效果如何。
我们也将相同的问题输入到了 ChatGPT 中,发现其在第一步也发现是文件描述符的问题,但是当我们给到其具体参数后后续的操作步骤没有办法收集或定位到更多有效的信息。
什么是 ChatDBA?
更多技术文章,请访问:https://opensource.actionsky.com/
关于 SQLE
SQLE 是一款全方位的 SQL 质量管理平台,覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库,为开发和运维提供流程自动化能力,提升上线效率,提高数据质量。
✨ Github:https://github.com/actiontech/sqle
📚 文档:https://actiontech.github.io/sqle-docs/
💻 官网:https://opensource.actionsky.com/sqle/
👥 微信群:请添加小助手加入 ActionOpenSource

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
手猫助手Agent技术探索总结
随着LLM的发展,ChatGPT能力不断增强,AI不断有新的概念提出,一种衍生类型的应用AI Agent也借着这股春风开启了一波话题热度,各种初创公司,包括Open AI内部也都在密切关注着AI Agent领域的变化。阿里集团内的AI团队也有很多基于Agent的尝试,Xlangchain和阿里LangEngine有很多Agent的例子,手猫端在过去一年中始关注AI技术动向,不断在手猫端上做面向用户的AI产品尝试,也结合结合Agent技术结合购物组手业务做探索。本文就手猫在探索Agent能力和智能助手业务结合过程、技术侧遇到的问题、想法和实践做简单总结,欢迎大家一起讨论、交流意见。 什么是Agent? OpenAI应用研究主管Lilian Weng在一篇长文中提出了Agent = LLM(大型语言模型)+记忆+规划技能+工具使用这一概念。AI Agent需要具备感知环境、做出决策并执行适当行动的能力。在这些关键步骤中,最重要的是理解输入给Agent的内容、进行推理、规划、做出准确决策,并将其转化为可执行的原子动作序列,以实现最终目标。 一个精简的Agent决策流程:感知(Percepti...
- 下一篇
关于 MySQL 5.7 升级 8.0 时 INT 显示问题分析
本案例中的客户是从 MySQL 5.7.36 升级到 MySQL 8.0.35,升级完成后业务反馈表结构有变化,升级前某个表的字段数据类型为 INT(10),升级后变成了 INT,客户咨询有什么影响没有? 作者:张昊,DBA,主要负责 MySQL 故障处理、DMP 产品支持,擅长 MySQL,喜欢打球~唱歌~ 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文约 1200 字,预计阅读需要 3 分钟。 背景 MySQL 5.7 已经停止更新了,最新的版本是 5.7.44。很多客户为了安全或者新特性的需求要对存量的 MySQL 5.7 进行大版本升级。 本案例中的客户是从 MySQL 5.7.36 升级到 MySQL 8.0.35,升级完成后业务反馈表结构有变化,升级前某个表的字段数据类型为 INT(10),升级后变成了 INT,客户咨询有什么影响没有? 故事开始前,先问个小问题,MySQL 中 INT(num) 的作用是什么?能够限制插入的数据范围吗?如何正确的使用呢? 阅读之前大家先把答案默念一遍,然后根据下面的测试结果对比一下,是不是我们想的那样? ...
相关文章
文章评论
共有0条评论来说两句吧...