码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 线上mysql表字段加不了Fail to get MDL on replica during DDL synchronize,排查记录


    某天接近业务高峰期想往表里加字段加不了,报错:Fail to get MDL on replica during DDL synchronize
    遂等到业务空闲时操作、还是加不了,
    最后怀疑是相关表被锁了,或者有事务一直进行(可能这俩是一个意思),
    于是通过查看当前正在执行的线程和事务ID,kill掉遂解决问题
    最后还有两个疑问没解决:
    1.kill线程ID时只能由对应的sql执行者删除,让运维删都删不了,会显示没有该线程号;
    2.kill掉的线程ID正在执行的sql里貌似没有包含我要操作的表,这样居然也会互相影响吗
    另外,其他同事也给了我一些更改表结构但不会锁表的语句(对于我这个场景不适应),但还是备份下

    查当前mysql的线程和事务信息

    SHOW FULL PROCESSLIST 是一个用于查看MySQL服务器当前运行的所有线程和它们的状态的SQL命令。通过执行这个命令,你可以获取有关MySQL服务器上运行的所有连接和线程的详细信息,包括SQL语句、连接时间、执行时间等。
    
    以下是执行 SHOW FULL PROCESSLIST 命令后可能返回的一些信息字段:
    
    Id:线程的唯一ID。
    User:连接的用户名。
    Host:连接的主机名。
    db:当前正在使用的数据库。
    Command:线程正在执行的命令(例如,Sleep、Query、Connect)。
    Time:线程运行的时间(秒)。
    State:线程的当前状态。
    Info:线程执行的SQL语句。
    
    
    
    -- 显示mysql正在运行的线程
    SHOW FULL PROCESSLIST
    
    
    -- 查询当前事务的线程号、事务ID,执行状态,sql
    SELECT
    trx_mysql_thread_id,
        trx_id,
        trx_started AS start_time,
        trx_state AS state,
        trx_query AS query
    FROM
        information_schema.innodb_trx;
    		
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    加字段但不锁表

    ALTER TABLE `user` ADD `age` int NOT NULL DEFAULT '0' COMMENT '年龄', 
    ALGORITHM=Inplace, 
    LOCK=NONE;
    
    • 1
    • 2
    • 3
  • 相关阅读:
    Dubbo基本原理
    TF-IDF
    设计模式--组合模式(Composite Pattern)
    运维实践-最新Nginx二进制构建编译lua-nginx-module动态链接Lua脚本访问Redis数据库读取静态资源隐式展现
    第二章:jQuery基本操作
    如何在Linux中使用read命令读取用户输入?——read命令实战
    VSCode+mingw/VSCode+CMake+mingw windows VSCode c++环境搭建
    源码分析Mybatis拦截器(Interceptor)拦截saveBatch()获取不到实体id的原因
    VSCode创建Vue项目完整教程
    算法--判断矩阵经轮转后是否一致
  • 原文地址:https://blog.csdn.net/xianyu_x/article/details/133686161
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号