4 回答

TA貢獻1834條經驗 獲得超8個贊
KILL命令的語法格式如下:KILL [CONNECTION | QUERY] thread_id
步驟如下:
1、KILL允許自選的CONNECTION或QUERY修改符:KILL CONNECTION與不含修改符的KILL一樣:它會終止與給定的thread_id有關的連接。
2、KILL QUERY會終止連接當前正在執行的語句,但是會保持連接的原狀。
3、如果您擁有PROCESS權限,則您可以查看所有線程。
4、如果您擁有超級管理員權限,您可以終止所有線程和語句。否則,您只能查看和終止您自己的線程和語句。
5、您也可以使用mysqladmin processlist和mysqladmin kill命令來檢查和終止線程。
首先登錄mysql,然后使用: show processlist; 查看當前mysql中各個線程狀態。
以上顯示出當前正在執行的sql語句列表,找到消耗資源最大的那條語句對應的id.
然后運行kill命令,命令格式如下:
[sql] view plain copy
kill id;
- 示例:
kill 8358
殺掉即可。

TA貢獻1853條經驗 獲得超6個贊
kill掉 ~
show processlist;
找出你要停止的語句
然后找出你要終止的語句的id
在系統下mysqladmin -uroot -ppassword kill 要殺的ID

TA貢獻1831條經驗 獲得超9個贊
如何中止一個SQL語句的執行
另一個sqlplus / as sysdba
select * from v$session;
alter system kill session(,)
或是
SELECT 'alter system kill session '''||t.SID||','||t.SERIAL#||''';' from v$session t WHERE t.SID=;
SELECT 'kill -9 '||p.SPID FROM v$session t ,v$process p WHERE t.SID=* AND t.PADDR=p.ADDR;
都可以。

TA貢獻1827條經驗 獲得超8個贊
show processlist;
可以查看所有正在運行的mysql中的線程;
找到你所要終止的線程id;比如是 145623;
執行:
kill 145623; 就可以了。
當然假如你的sql是比如alter table 一張大表,或者在delete一張大表等等之類的操作的時候,只有耐心等待了。這時候如果真的想要強行停止,只有停mysql實例了,不過這時候可能會表損壞丟數據等等。
添加回答
舉報