锁表解决方案

先把服务停掉; 有可能有些线程id 权限较高, 本人的权限不够只能找dba处理了;

– 查看具体锁的是哪些表;
show OPEN TABLES where In_use > 0;

– 查看所有的进程, 里面有时间time 有command 是query还是sleep ,
– 有个state 如果里面有Waiting for table metadata lock 并且time 很长说明主是锁表了;
show full processlist;

– 然后就可以 找到具体的id 然后直接kill id;如下;
kill id
比如: kill 1123 ;
比如: kill 1124 ;
比如: kill 1125 ;
比如: kill 1126 ;

– 可以通过条件拼接所有的kill进程脚本;
select concat('kill ', id, ‘;’), from information_schema.processlist where Command != ‘Sleep’ and Time > 300 order by Time desc;

你可能感兴趣的:(mysql,mysql)