当前位置: 首页 > news >正文

mysql 删除表卡死,或是截断(truncate)卡死解决办法

利用工具进行truncate表的时候,一直运行,运行了十几分钟也没有成功。中止之后再运行也是一样。但是删除表的数据以及查询表数据都是可以的。猜测是锁死了。

使用

show processlist;

发现Waiting for table metadata lock 问题;

mysql> show processlist;+-------+-----------------+-----------+------+---------+--------+---------------------------------+-----------------------------------------------------------------------+
| ID    | USER            | HOST      | DB   | COMMAND | TIME   | STATE                           | INFO                                                                  |
+-------+-----------------+-----------+------+---------+--------+---------------------------------+-----------------------------------------------------------------------+
|     1 | event_scheduler | localhost | NULL | Daemon  | 365869 | Waiting on empty queue          | NULL                                                                  |
| 13040 | root            | localhost | NULL | Query   |      0 | executing                       | select * from information_schema.processlist where command != 'sleep' |
| 13044 | root            | localhost | NULL | Query   |      4 | Waiting for table metadata lock | truncate table test_; 		                                          |
+-------+-----------------+-----------+------+---------+--------+---------------------------------+-----------------------------------------------------------------------+
  1. 尝试利用 kill 杀死 Waiting for table metadata lock 的线程,但是重新执行 truncate 操作 仍然会报 这个问题。
mysql> kill 13044;
  1. 重启一下mysql服务,再去执行命令,还是会报这个问题。。。😒😒😒
  2. 执行命令查询死锁 SELECT * FROM information_schema.INNODB_TRX/G
mysql> SELECT * FROM information_schema.INNODB_TRX; (这里如果感觉用命令行的时候看不清排版,在后面加/G,变成竖向排版输出)+------------+-----------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+------------------+----------------------------+---------------------+
| trx_id     | trx_state | trx_started         | trx_requested_lock_id | trx_wait_started | trx_weight | trx_mysql_thread_id | trx_query | trx_operation_state | trx_tables_in_use | trx_tables_locked | trx_lock_structs | trx_lock_memory_bytes | trx_rows_locked | trx_rows_modified | trx_concurrency_tickets | trx_isolation_level | trx_unique_checks | trx_foreign_key_checks | trx_last_foreign_key_error | trx_adaptive_hash_latched | trx_adaptive_hash_timeout | trx_is_read_only | trx_autocommit_non_locking | trx_schedule_weight |
+------------+-----------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+------------------+----------------------------+---------------------+
| 2234640445 | RUNNING   | 2023-03-09 12:26:38 | NULL                  | NULL             |          5 |                   0 | NULL      | NULL                |                 0 |                 2 |                3 |                  1346 |               1 |                 2 |                       0 | REPEATABLE READ     |                 1 |                      1 | NULL                       |                         0 |                         0 |                0 |                          0 | NULL                |
+------------+-----------+---------------------+-----------------------+------------------+------------+---------------------+-----------+---------------------+-------------------+-------------------+------------------+-----------------------+-----------------+-------------------+-------------------------+---------------------+-------------------+------------------------+----------------------------+---------------------------+---------------------------+------------------+----------------------------+---------------------+

发现trx_mysql_thread_id = 0的不能通过 kill 来进行杀死。如果不为0可直接kill。
如果不能kill,我们需要进行事务回滚操作。

  1. 先使用 xa recover 获取XA的事务信息。
mysql> xa recover;
+----------+--------------+--------------+-------------------------------------------+
| formatID | gtrid_length | bqual_length | data                                      |
+----------+--------------+--------------+-------------------------------------------+
|        1 |           39 |            2 | kdisieus-783s-780e-kdsk-bf1eafe7sdd6:5434 |
+----------+--------------+--------------+-------------------------------------------+
  1. 根据事务信息,进行回滚操作。按照以下格式进行带入# xa rollback ‘left(data,gtrid_length)’,‘substr(data,gtrid_length+1,bqual_length)’, formatID;
mysql> xa rollback ‘kdisieuns-783s-780e-kdsk-bf1eafe7sdd6:54’,‘34’, 1;
  1. 再次执行truncate ,执行成功。

插叙:中间还去mysql的数据存储位置,将这个表直接删除了。但是再去创建这个表的时候发现提示表已经存在。这里猜测是可能是因为事务还在运行,在某个地方还缓存着这个表。
最后将锁死解决之后,查询这个表已经不存在了。但是还是不能创建这个表。报了1030 (HY000): Got error 168 from storage engine错误。
最终从别的地方又将这两个文件导入进来了,在进行drop,然后在create,解决完毕。

可能还有其它办法,欢迎进行评论。
这里不建议修改mysql的一些参数,毕竟在公司的话,参数也都是经过DBA精心设计的。(当然了也有可能都是默认的)。

相关文章:

mysql 删除表卡死,或是截断(truncate)卡死解决办法

利用工具进行truncate表的时候,一直运行,运行了十几分钟也没有成功。中止之后再运行也是一样。但是删除表的数据以及查询表数据都是可以的。猜测是锁死了。 使用 show processlist; 发现Waiting for table metadata lock 问题; mysql> s…...

ORACLE P6 EPPM 架构及套件介绍(源自Oracle Help)

引言 借助官方帮助的内容, 我水一篇文章,翻译了下文 P6EPPM架构 P6各套件 P6:大多数用户几乎完全依赖在标准网络浏览器中运行的 P6 网络应用程序。简称为 P6,它是管理项目的主要界面。P6 移动版:允许团队成员提供任…...

Android开发面试:数据结构与算法知识答案精解

目录 数据结构与算法 线性表 数组 链表 栈 队列 树 二叉树 红黑树 哈夫曼树 排序算法 冒泡排序 选择排序 插入排序 希尔排序 堆排序 快速排序 归并排序 查找算法 线性查找 二分查找 插值查找 斐波拉契查找 树表查找 分块查找 哈希查找 动态规划算法…...

京东前端手写面试题集锦

实现call方法 call做了什么: 将函数设为对象的属性执行和删除这个函数指定this到函数并传入给定参数执行函数如果不传入参数,默认指向为 window // 模拟 call bar.mycall(null); //实现一个call方法: // 原理:利用 context.xxx self obj.…...

【JDK动态代理】及【CGLib动态代理】:Java的两种动态代理方式

Java的两种动态代理方式动态代理是什么?JDK动态代理CGLib动态代理CGLib 底层原理CGLib 实现步骤两者区别Spring AOP原理--动态代理动态代理是什么? 动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的…...

《程序员面试金典(第6版)》面试题 04.05. 合法二叉搜索树

题目描述 实现一个函数,检查一棵二叉树是否为二叉搜索树。 示例 1: 输入: 2/ \1 3输出: true 示例 2: 输入: 5/ \1 4/ \3 6输出: false 解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。 解题思路与代码 使用…...

Nginx 反向代理技术梳理

Nginx 反向代理技术梳理 使用反向代理脑图 域名 A 可以解析找到 CDN 缓存 用户点击 APP 即通过 URL 发送 HTTPS 请求域名会进入阿里云的 DNS 服务器,解析域名会做第一级负载均衡通过 CDN 解析出域名,通过阿里云配置转发到 CDN 缓存服务器 CDN 有数据则直…...

华为OD机试 - 整数编码(Java) | 机试题+算法思路+考点+代码解析 【2023】

整数编码 题目 实现一种整数编码方法,使得待编码的数字越小,编码后所占用的字节数越小。 编码规则如下: 1、编码时7位一组,每个字节的低7位用于存储待编码数字的补码。 2、字节的最高位表示后续是否还有字节,置1表示后面还有更多的字节,置0表示当前字节为最后一个字…...

蓝桥杯冲击01 - 质数篇

目录 前言 一、质数是什么 二、易错点 三、试除法判断是否为质数 四、质数常考三大模型 五、真题练手 前言 距离蓝桥杯还有一个月,高效复习蓝桥杯知识, 质数相关的题目在蓝桥杯中经常出现。例如,2016年蓝桥杯省赛初赛第四题就是要求判…...

【WEB前端进阶之路】 HTML 全路线学习知识点梳理(下)

前言 本文是HTML零基础小白学习系列的第三篇文章,点此阅读 上一篇文章 文章目录前言十五.HTML布局1.使用div元素添加网页布局2.使用table元素添加网页布局十六.HTML表单和输入1.文本域2.密码字段3.单选按钮4.复选框5.提交按钮十七.HTML框架1.iframe语法2.iframe设置…...

MySQL索引分类

1 MySQL索引都有哪些分类按数据结构分类可分为:Btree索引、Hash索引、Full-text索引;按物理存储分类可分为:聚簇索引、二级索引(辅助索引);按字段特性分类可分为:主键索引、普通索引、前缀索引;按字段个数分类可分为&a…...

会声会影2023最新版图文安装详细教程

会声会影2023操作简单,使用便捷,创意十足,新增的分屏功能,轨道透明度,镜头平移等功能,让用户的剪辑过程更加流畅,轻松就能制作出令人惊艳的视频作品。它不仅符合家庭或个人所需的影片剪辑功能&a…...

Java中的反射

类加载器(1)类的加载当我们的程序在运行后,第一次使用某个类的时候,会将此类的class文件读取到内存,并将此类的所有信息存储到一个Class对象中。说明:a.图中的Class对象是指:java.lang.Class类的…...

STM32入门笔记(03):STM32F103C8T6定时器的输入捕获模式和编码器模式(SPL库函数版)

目录1.定时器的输入捕获模式定时器输入捕获实验代码实现程序说明实现思路实现效果知识要点2.定时器的编码器模式定时器编码器实验代码实现实验思路知识要点参考资料先导知识 [1] STM32入门笔记(02):定时器之定时器中断、输入捕获和PWM输出(SPL库函数版)…...

《网络安全》零基础教程-适合小白科普

《网络安全》零基础教程 目录 目录 《网络安全》零基础教程 第1章 网络安全基础 什么是网络安全 常见的网络安全威胁 网络安全的三个基本要素 网络安全的保障措施 第2章 网络攻击类型 病毒、蠕虫、木马、后门 DoS、DDoS攻击 ​​​​​​​SQL注入、XSS攻击 ​​​…...

微信小程序语言与web开发语言的区别

WXML与HTML的区别def:WXML是小程序框架设计的一套标签语言,用来构建小程序页面的结构,作用类似于web开发中的HTML区别:标签名称的不同如HTML中的div,span,img,a分别对应wxml中的view&#xff0c…...

【2022-09-14】米哈游秋招笔试三道编程题

第一题:最短子串 题目描述 米小游拿到了一个字符串,她想截取一个连续子串,使得该子串中包含至少k个连续的“mihoyo”。 你可以帮米小游求出最短的子串长度,以及对应的子串位置吗? 输入描述 第一行输入两个正整数n…...

云监控能力介绍

传统监控介绍 监控系统必要性 监控系统的能力清单 市面上常见商业及开源监控工具集 传统监控体系的不足 云监控介绍 云监控(CloudMonitor)是一项针对云资源和互联网应用进行监控的服务。 云监控为云上用户提供开箱即用的企业级开放型一站式监控解决方…...

HTML 文档类型

<!DOCTYPE> 声明帮助浏览器正确地显示网页。 <!DOCTYPE> 声明 Web 世界中存在许多不同的文档。只有了解文档的类型&#xff0c;浏览器才能正确地显示文档。 HTML 也有多个不同的版本&#xff0c;只有完全明白页面中使用的确切 HTML 版本&#xff0c;浏览器才能完…...

【UML】软件设计说明书 (完结)

目录一. &#x1f981; 前言1.1 编写目的1.2 背景1.3 定义1.4 参考资料二. &#x1f981; 总体设计2.1需求规定2.1.1 系统描述2.1.2 系统用例图2.2 运行环境2.2.1 设备2.2.2 支持软件2.2.3 接口2.2.4 控制2.3 基本设计概念2.4 系统结构三. &#x1f981; 用例分析与设计3.1 用户…...

【巴法云】零代码安卓App开发:用App Inventor + MQTT + ESP8266打造智能硬件遥控器

1. 零代码开发智能硬件遥控器的魅力 想象一下&#xff0c;你躺在沙发上发现忘关客厅的灯&#xff0c;这时候掏出手机点一下就能远程关灯&#xff1b;或者夏天回家前提前打开空调&#xff0c;进门就能享受清凉。这些智能家居场景现在用App Inventor 巴法云 ESP8266组合就能轻松…...

影刀RPA神用法:自动监控竞品价格的实操步骤

监控竞品价格的实操步骤数据采集模块配置 打开影刀RPA&#xff0c;创建一个新流程。使用网页抓取功能&#xff0c;定位竞品网站的价格元素。通过XPath或CSS选择器精准获取价格数据&#xff0c;确保动态加载内容也能被捕获。价格异常触发机制 设置价格波动阈值&#xff0c;当竞品…...

Claude模型选型指南:Opus/Sonnet/Haiku三大系列在真实项目中的性能价格对比

Claude模型选型实战&#xff1a;Opus/Sonnet/Haiku三大系列性能与成本深度评测 1. 企业级AI选型的核心考量 在构建商业AI解决方案时&#xff0c;技术决策者往往面临模型选型的复杂权衡。Anthropic推出的Opus、Sonnet和Haiku三大系列&#xff0c;分别针对不同规模和应用场景的…...

Druid连接池minIdle和maxActive参数详解:如何避免连接池耗尽问题

Druid连接池minIdle与maxActive参数深度优化指南 1. 理解连接池的核心参数 在现代企业级应用中&#xff0c;数据库连接池的性能调优往往是系统稳定性的关键所在。作为阿里巴巴开源的Druid连接池&#xff0c;其minIdle和maxActive参数的合理配置直接影响着应用的吞吐量和响应时间…...

AI Agent岗位需求暴涨986%,年薪达19万美元,新职业“Agent师“横空出世!

Sam Altman和Dario Amodei先后押注同一件事&#xff1a;第一家"一人十亿美元公司"将在2026年出现。与此同时&#xff0c;AI Agent相关岗位需求一年内增长986%&#xff0c;均薪达到19万美元。一个不以编程为门槛的新职业方向&#xff0c;正在打破"做多大的事就需…...

解锁Mac微信潜能:WeChatExtension全功能增强方案

解锁Mac微信潜能&#xff1a;WeChatExtension全功能增强方案 【免费下载链接】WeChatExtension-ForMac Mac微信功能拓展/微信插件/微信小助手(A plugin for Mac WeChat) 项目地址: https://gitcode.com/gh_mirrors/we/WeChatExtension-ForMac 挖掘核心价值&#xff1a;突…...

AI-Agent元年来了!2026年全面爆发,掌握Agent工程化思维,从0到1打造爆款智能体!

前言 如果说[2025年是AI-Agent元年]&#xff0c;那么2026年无疑是AI-Agent全面爆发的一年。无论是近期引发全民热潮的“养虾”智能体[OpenClaw&#xff0c;还是渗透进各行各业、解决实际工作问题的智能助手&#xff0c;它们都属于AI-Agent的生动实践。从这些案例中不难看出&…...

新中大SE系统反月结避坑指南:从月结修复到重新记账的完整操作解析

新中大SE系统月结异常处理实战手册&#xff1a;从错误回溯到数据修正的全流程精解 财务系统的月结操作如同会计周期的"收官之战"&#xff0c;一旦发现历史凭证存在错误&#xff0c;往往让使用者陷入两难境地——既要确保数据准确性&#xff0c;又担心操作不当引发连锁…...

构建自主海上防御系统:Mirai Robotics融资420万美元

Mirai Robotics已筹集420万美元的Pre-Seed轮资金&#xff0c;旨在构建自主和智能的海上系统。本轮融资由Primo Ventures、Techshop和40Jemz Ventures领投&#xff0c;并有来自意大利和国际的天使投资人参与。 海洋是地球上最关键的基础设施之一。全球超过80%的贸易通过海路运输…...

前后端框架模式对比(golang)

前后端架构模式对比&#xff1a;分离与不分离 现代Web开发中&#xff0c;前后端架构的选择直接影响开发效率、维护成本和系统性能。结合Golang的实现&#xff0c;可以更清晰地分析前后端分离&#xff08;如REST API 前端框架&#xff09;与不分离&#xff08;如服务端渲染&…...