就是利用可视化工具,先复制这张表,然后在删除卡死的那张表,最后将复制的表重命名即可。
出现卡死的原因可能是:
1、频繁的对某张表的字段进行操作,比如修改他的大小或数据类型啥的,可能就会导致出现锁表或卡死的状态。
2、若发现对某张表进行的某个字段进行操作时,卡死了,先去试试其他字段,或者其他表的字段看可不可以修改,若可以修改,怎就按照上面的办法,先复制,在删除,最后重命名。
还有一种方法:
利用可视化工具Navicat,按F6进行命令行,然后使用命令查看进程:
>show full processlist; //列出进程,找出处于waiting的process,要杀死这些process
>kill ID; //ID 就是上面查出来的第一列的进程ID
还有就是:
MySQL事务锁问题-Lock wait timeout exceeded
查看当前运行的所有事物:
mysql> SELECT * FROM information_schema.INNODB_TRX;
将查询出来的结果复制粘贴出来,放在NotePad++ 这样的编辑工具里面,然后找到线程杀死即可;
解释:看事务表INNODB_TRX,里面是否有正在锁定的事务线程,看看ID是否在show processlist里面的sleep线程中,如果是,就证明这个sleep的线程事务一直没有commit或者rollback而是卡住了,我们需要手动kill掉。
搜索的结果是在事务表发现了很多任务,这时候最好都kill掉。
以上部分来源: https://cloud.tencent.com/developer/article/1356959