DBA 的 AI 助手 | MySQL 清理 undo log 居然用了 10 个小时?
社区王牌专栏《一问一实验:AI 版》全新改版归来,得到了新老读者们的关注。其中不乏对 ChatDBA 感兴趣的读者前来咨询,表达了想试用体验 ChatDBA 的意愿,对此我们表示感谢 🤟。
目前,ChatDBA 还在最后的准备阶段,会尽快跟大家见面。想预约试用的朋友,可以扫码文末的 预约试用 二维码或点击 原文链接。我们正在对 DBA 群体试用大模型的情况进行调研,这对我们打磨 ChatDBA 的使用体验非常重要。
下面让我们正式进入《一问一实验:AI 版》的第 57 期。
问题
undo log 长时间处于清理状态导致备份失败。
问题现象:有客户反映有 3 套 MGR 环境全备失败,MySQL 版本为 8.0.18 ,Xtrabackup 版本为 8.0.9 。报错信息如下:
xtrabackup: Generating a list of tablespaces Directories to scan '.;./;.' Scanning './' Completed space ID check of 2 files. Allocated tablespace ID 12 for zxc/a, old maximum was 0 Undo tablespace number 1 was being truncated when mysqld quit. Cannot recover a truncated undo tablespace in read-only mode xtrabackup: error: xb_load_tablespaces() failed with error code 57
实验
1. 将问题丢给 ChatDBA。
我们先把这个问题丢给 ChatDBA,让他看下具体出了什么问题。
可以在【爱可生开源社区】B 站或视频号查看本期完整操作视频。
上图为本次问题生成的流程分析画布,展示 ChatDBA 对此问题的排查逻辑。
2. ChatDBA 问答过程
第一轮交互
首先将问题输入给 ChatDBA,ChatDBA 首先根据此问题会生成初步的参考结果,同时还会生成对应的检索关键词以及进行相关 Bug 的检索。针对这个问题 ChatDBA 还需要收集相关的错误日志来供下一步分析,同时还给到了一些潜在的操作。
第二轮交互
然后我们给到 ChatDBA 对应的错误日志,ChatDBA 根据错误日志首先确认是由于 InnoDB 尝试访问丢失的 tablespace 导致的问题,同时给到了对应的解决方案。
3. 实验总结。
在该问题中,通过排查发现 undo log 过了 10 个小时依然没有清理完,正常情况下不会出现该情况,而是由于参数 super_read_only 触发的 bug 导致的。可以通过调大 innodb_max_undo_log_size
参数,undo log 大小达到阈值前被 purge 掉,这样空间可以重用,很难达到阈值,所以不会触发 undo log truncate,所以也就不会触发 bug 导致问题。
第三方大模型对比:试试 ChatGPT-4o
可以看到 ChatGPT 也能够对该问题进行初步的判断与排查,但是缺少一定的追问与连续对话的能力。
直播预告
更多技术文章,请访问: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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用 Elasticsearch 和 LlamaIndex 保护 RAG 中的敏感信息和 PII 信息
作者:来自 ElasticSrikanth Manvi 在这篇文章中,我们将研究在 RAG(检索增强生成)流程中使用公共 LLMs 时保护个人身份信息 (personal identifiable information - PII) 和敏感数据的方法。我们将探索使用开源库和正则表达式屏蔽 PII 和敏感数据,以及在调用公共 LLM 之前使用本地 LLMs 屏蔽数据。 在开始之前,让我们回顾一下我们在这篇文章中使用的一些术语。 术语 LlamaIndex 是用于构建 LLM(Large Language Model - 大型语言模型)应用程序的领先数据框架。LlamaIndex 为构建 RAG(检索增强生成)应用程序的各个阶段提供抽象。LlamaIndex 和 LangChain 等框架提供抽象,以便应用程序不会与任何特定 LLM 的 API 紧密耦合。 Elasticsearch 由 Elastic 提供。Elastic 是 Elasticsearch 背后的行业领导者,Elasticsearch 是一种搜索和分析引擎,支持精确的全文搜索、语义理解的向量搜索和兼具两全其美的混合搜索。...
- 下一篇
【装包测试】Android应用权限授权小技巧
👆对私有云感兴趣可以进入公众号回复“私有云”哦。 一、前言 大家在日常测试中,每次新安装应用或游戏都有一些前置的权限设置需要点击,但在不同的Android设备上的同意按钮都不完全相同,如果需要提高脚本的通用性以及复用性我们应该怎么办呢?那我们本周就一起来探讨一下这个问题吧~ 二、pm授权与取消授权指令详解 PM工具,即包管理器(Package Manager),是Android开发和测试中不可或缺的工具。可以用于执行安装应用程序、查询应用包信息、管理系统权限以及控制应用程序。通常,PM工具位于系统的 /system/bin 目录下。 pm工具有两个指令参数,分别是 grant (授予应用权限许可)与 revoke (撤销应用权限),在 Airtest 环境的具体使用如下: #授予应用权限许可。必需android6.0(API级别23)以上的设备shell(pm grant <packageName> <permission>)#撤销应用权限。必需android6.0(API级别23)以上的设备shell(pm revoke <packageName>...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,CentOS7官方镜像安装Oracle11G
- Mario游戏-低调大师作品
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7