记一次Mysql加字段加不上问题排查过程

一、背景

最近在做计费重构的项目,项目开发工作基本收尾,但是遇到了一个字段加不上的问题,排查过程中也学到了一些东西,这里记录下。

二、问题

2.1 问题反馈

由于要加的字段是另外一个同事负责的内容,到我这里收到反馈说是没加上,所以就跟进一下,从技术方案文档上找到对应的alter 表 DDL语句直接执行了一把,发现执行超时了,明显有问题,执行结果显示如下:
ErrorCode:2013 Lost Connection To Mysql Server during query。
下面进入正式的排查过程。

2.2 表信息收集

出现这种情况就想到了两种可能,于是直接尝试百度了下:Mysql 加表字段超时。根据搜索结果初步的信息判断,有两种可能:

  1. 数据量过大
  2. 索引过多

于是查了下表,表数据量不超过500,但是索引太多是真的,而且有外键,但是直觉或者常识告诉我上面两种可能都不是真正的原因。

三、排查过程

3.1 粗略排查&解决

到这一步就直接使用show processlist 命令来看一下是不是上面执行的命令还没有结束掉,存在锁等问题。
确实发现了有几个Mysql 连接出现了锁等待,信息如下:
Waiting for table metadata lock
到这里就发现问题确实不简单,因为一般情况下加字段应该是很快的,所以这里直接继续请教百度

相关推荐

  1. Mysql问题排查过程

    2024-02-06 02:30:01       34 阅读
  2. hive表

    2024-02-06 02:30:01       29 阅读
  3. 杂记-前端打包问题解决过程

    2024-02-06 02:30:01       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 02:30:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 02:30:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 02:30:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 02:30:01       20 阅读

热门阅读

  1. NCCL 源码详解总目录

    2024-02-06 02:30:01       33 阅读
  2. 多线程与socket编程

    2024-02-06 02:30:01       35 阅读
  3. nginx负载均衡

    2024-02-06 02:30:01       34 阅读
  4. Blender 的重拓扑功能中的参数,

    2024-02-06 02:30:01       29 阅读
  5. salesforce flow 如何保存多选列表选中的值

    2024-02-06 02:30:01       28 阅读
  6. 【C语言】深入理解函数指针

    2024-02-06 02:30:01       38 阅读
  7. 基础面试题篇2

    2024-02-06 02:30:01       28 阅读
  8. 设计模式概述

    2024-02-06 02:30:01       32 阅读