MySQL drop空表时处于Waiting for table metadata lock状态,解决办法 (出自网络)

Posted eternal memo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL drop空表时处于Waiting for table metadata lock状态,解决办法 (出自网络)相关的知识,希望对你有一定的参考价值。

mysql drop空表时处于Waiting for table metadata lock状态,简单粗暴的解决办法,原理性请看官网

1.  mysql> select concat("kill ",b.ID,";") as kill_id from information_schema.INNODB_TRX a,information_schema.PROCESSLIST b where a.trx_mysql_thread_id=b.ID and a.trx_state=‘RUNNING‘ and b.TIME >=30;

2. mysql> select concat("kill ",trx_mysql_thread_id,";") as kill_id from information_schema.INNODB_TRX where trx_lock_structs=0 and trx_weight=0 and trx_rows_locked=0 and trx_rows_modified=0 and trx_state=‘RUNNING‘;

以上两步任选其一
mysql> kill kill_id

这种办法属于治标不治本,只是临时性解决

 






以上是关于MySQL drop空表时处于Waiting for table metadata lock状态,解决办法 (出自网络)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL进程处于Waiting for table flush的分析

MySQL线程处于Waiting for table flush的分析

MySQL线程处于Waiting for table flush的分析

oracle11g导出表时会发现少表,空表导不出解决方案。

MySQL--DROP TABLE与MySQL版本

MySQL管理表和索引