24、mysql连接线程的show和kill
生活随笔
收集整理的這篇文章主要介紹了
24、mysql连接线程的show和kill
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、登陸到mysql服務器
? ? ? ? Mysql –h ip –u 用戶名 –p 密碼;
2、檢查當前連接的線程
? ? ? ? show full processlist 或
? ? ? ? show processlist 或
? ? ? ? selelct * from information_schema.processlist;
? ? ? ? ?
? ? ? ? Id:線程標識
? ? ? ? User:當前用戶
? ? ? ? Host:sql的來源,ip和port
? ? ? ? Db:進程連接的數據庫名
? ? ? ? Command:當前連接執行的命令,一般是sleep、connect和query,當sleep進程很多時,容易導致數據庫掛死
? ? ? ? Time:當前連接狀態持續時間(秒)
? ? ? ? State:當前連接sql的狀態,例如:查詢sql可能需要經過copying to tmp table,Sorting result,Sending data等狀態
? ? ? ?state常見狀態如下:?
Checking table :檢查數據表Closing tables:正在將表中修改的數據刷新到磁盤中,同時正在關閉已經用完的表,如果這個狀態一直持續,可以考慮一下是否磁盤已滿或者操作磁盤進程太多 Connect Out:Copying to tmp table on disk:正在將臨時存儲到內存的數據copy到磁盤Creating tmp table:正在創建臨時表deleting from main table:執行多表刪除Flushing tables:等待其他線程關閉數據表Killed:kill掉某進程Locked:被其他查詢鎖住了Sending data:正在處理select查詢的數據,并試圖將結果發送到客戶端Sorting for group:正在為group進行排序Sorting for order:正在為order進行排序,持續時間過長建議添加order by字段索引Opening tables:正在嘗試打開一張表Removing duplicates:正在執行一個 SELECT DISTINCT 方式的查詢,但是MySQL無法在前一個階段優化掉那些重復的記錄。因此,MySQL需要再次去掉重復的記錄,然后再把結果發送給客戶端。Reopen table:試圖重新打開表Repair by sorting:修復指令正在排序以創建索引Repair with keycache:修復指令正在利用索引緩存一個一個地創建新索引。它會比 Repair by sorting 慢些Searching rows for update:將符合條件的數據找出來以備更新Sleeping:正在等待接受新請求System lock:正在等待取得一個外部的系統鎖Upgrading lock:正在嘗試取得一個鎖表以插入新記錄Updating:正在搜索匹配的上的,可以修改的數據User Lock:正在等待 GET_LOCK()Waiting for tables:該線程得到通知,數據表結構已經被修改了,需要重新打開數據表以取得新的結構waiting for handler insert:INSERT DELAYED 已經處理完了所有待處理的插入操作,正在等待新的請求? ? ? ? ?Info:sql內容
3、殺掉耗資源的線程
? ? ? ? ?KILL [CONNECTION | QUERY] processlist_id
? ? ? ? ?例如:kill 67169159? -- 默認修飾符是CONNECTION
總結
以上是生活随笔為你收集整理的24、mysql连接线程的show和kill的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CPU是什么?由什么组成?
- 下一篇: 11、mysql数据表中数据的查询(3)