Mysql 输入SQL后无响应解决办法

不巧出现了操作Mysql不响应的情况。

第一步就要查看数据库状态,看当前活跃的连接正在进行什么操作。

show processlist;

看一下结果

很明显,有多个连接正处于:

Waiting for table metadata lock 状态。

有一个在对数据表进行

TRUNCATE TABLE XXX;

还有两个连接在进行 insert

SQL不返回的原因

元数据锁(meta data lock, MDL)是MySQL 5.5 版本中引入的表级锁的一种(另一种就是表锁)。

支持事务的InnoDB引擎表和不支持事务的MyISAM引擎表,都会出现Metadata Lock Wait等待现象。一旦出现Metadata Lock Wait等待现象,后续所有对该表的访问都会阻塞等待。

常见MDL锁场景有:

①当前有执行DML操作时执行DDL操作

② 当前有对表的长时间查询或使用mysqldump/mysqlpump时,使用alter会被堵住

③ 显示或者隐式开启事务后未提交或回滚,比如查询完成后未提交或者回滚,DDL会被堵住

解决办法

修改表结构之前,需要把导致metadata lock的语句kill掉。先要找到正在持有metadata lock的连接。

这里只能根据 show processlist;

结合自己的操作看Waiting for table metadata lock之前的那个process 是已经获取到metadata lock的。

OK,比如确定是 1233 挣持有metadata lock,需要执行

kill 1233;

---------------------------------

有没有直接的命令查出来呢?

有的,但是要MySql5.7以上,并且需要提前设置,具体可以参考这篇文章

如何方便的查看Metadata Lock

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CSV(逗号分隔值)是一种常见的数据格式,用于存储和交换大量数据。它是一个文本文件,每一行由字段组成,每个字段用逗号分隔。 对于超大的CSV文件,我们可以使用以下方法打开它: 1. 使用专业的数据处理软件,如Microsoft Excel或Google Sheets。这些软件可以处理大量数据,并具有智能技术来分析和优化数据。但是,这些软件可能在处理超级大型CSV文件时变得响应缓慢。请记住在处理大型CSV文件时不要开启过多的计算功能。 2. 使用文本编辑器,如Notepad++或Sublime Text。这些编辑器可以处理文本文件,并且可以很快地加载大型CSV文件。然而,它们有用于数据分析的工具。只适用于需要快速查看、编辑等简单工作。 3. 使用数据库软件,如MySQL或PostgreSQL。这些软件可以将CSV文件导入到数据库中,并运行SQL查询来检索所需数据。这种方法需要一些数据库经验,但可以高效地处理大量CSV数据。 总之,对于超大的CSV文件,最好使用能够处理大量数据的专业软件,如Microsoft Excel或Google Sheets。如果您只需要浏览或编辑文件,文本编辑器是一个不错的选择。而对于需要跨数据文件各个数据之间进行查询、并进行分析等业务场景,通常采用数据库是最好的选择。 ### 回答2: 打开超大的CSV文件需要使用相应的软件或者工具来处理。其中,Excel是最常见的CSV文件处理软件,在打开CSV文件时需要遵循以下步骤: 1. 打开Excel软件,点击“数据”选项卡,选择“从文本”选项。 2. 在打开文本文件对话框中,选择CSV文件并点击“打开”按钮。 3. 在提示框中选择适当的文件格式,如:分隔符为逗号、字符集为UTF-8,设置合适的分列方式,然后点击下一步。 4. 选择正确的分隔符(逗号或分号等),然后识别列数据类型。 5. 在列格式中设置合适的数据格式、宽度等,如:“文本”、“日期”、“数值”等,确认无误后点击完成。 6. Excel会弹出一个数据导入向导对话框,用户可以选择将数据导入到现有的工作表或新建工作表中。 如果CSV文件太大,Excel可能会无法打开或者处理。此时可以试用其他CSV文件批量处理工具或者编程语言来处理。例如,Python语言的Pandas库可以方便地处理超大的CSV文件。 总之,打开超大的CSV文件需要选择适当的工具或软件,并进行正确的设置,才能高效准确地处理文件数据。 ### 回答3: CSV文件是一种常见的纯文本格式,用于存储数据和表格。但是,当文件变得很大时,如何打开CSV文件成为了一个问题。下面我们来介绍几种打开超大CSV文件的方法。 一、使用文本编辑器 如果您的CSV文件不超过几十MB,您可以使用文本编辑器来打开和编辑,如记事本、Sublime Text等。不过,如果文件很大,文本编辑器可能会被卡住或响应缓慢,因此这种方法只适合小型文件。 二、使用Excel Excel可以打开CSV文件,但默认情况下会将文件读入内存中,如果文件太大,很容易造成Excel崩溃。为了处理超大CSV,您可以在导入时选择“数据”菜单中的“从文本”选项,Excel将在导入时逐行读取文件,这可以减少内存使用,加快速度。 三、使用数据库 如果CSV文件非常大(比如几百MB或更大),您可以使用数据库来处理并管理数据。您可以使用MySQLSQLite等任何关系型数据库,将CSV文件导入数据库中,然后通过SQL查询检索数据。这种方法可以提供更快的性能和更高的灵活性。 四、使用文本处理工具 还有一些专门用于处理大型CSV文件的文本处理工具,如Notepad++、awk等。这些工具可以在不读取整个文件的情况下进行多行操作,提高了处理效率。 综上所述,根据文件的大小和需要,您可以选择适合您的一种或几种方法来处理超大的CSV文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值