前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第 57 期:MySQL 清理 undo log 居然用了 10 个小时

第 57 期:MySQL 清理 undo log 居然用了 10 个小时

作者头像
爱可生开源社区
发布2024-09-14 18:57:27
980
发布2024-09-14 18:57:27
举报
文章被收录于专栏:爱可生开源社区

目前,ChatDBA 还在最后的准备阶段,会尽快跟大家见面。想预约试用的朋友,可以扫码文末的 预约试用 二维码或点击 原文链接。我们正在对 DBA 群体试用大模型的情况进行调研,这对我们打磨 ChatDBA 的使用体验非常重要。

下面让我们正式进入《一问一实验:AI 版》的第 57 期。

问题

undo log 长时间处于清理状态导致备份失败

问题现象:有客户反映有 3 套 MGR 环境全备失败,MySQL 版本为 8.0.18 ,Xtrabackup 版本为 8.0.9 。报错信息如下:

代码语言:javascript
复制
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 导致问题。

问题原文:《故障分析 | undo log 长时间处于清理状态导致备份失败

第三方大模型对比:ChatGPT-4o

因为在问题中给到了版本的信息,所以 ChatGPT 就会往版本的方向上引导,同时也给出来一些解决方案但是粒度较为粗糙。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爱可生开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
    • undo log 长时间处于清理状态导致备份失败
    • 实验
      • 1. 将问题丢给 ChatDBA。
        • 2. ChatDBA 问答过程
          • 第一轮交互
            • 第二轮交互
              • 3. 实验总结。
              • 第三方大模型对比:ChatGPT-4o
              相关产品与服务
              云数据库 MySQL
              腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档