查询已锁定MySQL中的表。 如何解锁正在运行的查询会话以解锁表?
我不知道在MySQL中查看活动的会话/进程。我怎么能在PuTTY?
答案 0 :(得分:10)
进入PuTTY,然后登录MySQL。在MySQL中运行以下命令:
show processlist;
这将显示所有正在运行的进程的列表。您可能能够找到锁定表的查询,因为它可能是运行时间最长的查询,其中有一堆其他查询等待锁定释放。记下此查询的进程ID。
然后运行:
kill [PROCESSID];
这会杀死这个过程。当然,您需要以有权停止已启动查询的用户身份执行此操作(因此,如果必须,请使用相同的用户或root
。)
答案 1 :(得分:1)
使用MySQL控制台或其他工具运行查询SHOW PROCESSLIST
以查看活动查询。
运行查询kill 123
以终止id为123的查询/连接。
答案 2 :(得分:0)
使用此命令更易于阅读:
mysql> show processlist\G
然后如上所述,使用命令:
kill PROCESSID;
示例是:
kill 1234;
其中1234是显示为使用最多资源/时间的ID。但要小心,因为它可能导致数据损坏。