萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL show stauts狀態變量說明介紹

MySQL show stauts狀態變量說明介紹

本文章來給各位同學介紹一下在MySQL show stauts狀態變量說明,這些參考可能對你排查mysql各種問題會有不小幫助哦。

Aborted_clients

指出由於某種原因客戶程序不能正常關閉連接而導致失敗的連接的數量。如果客戶不在退出之前調整mysql_close()函數,wait_timeout或interactive_timeout的限制已經被超出,或者是客戶端程序在傳輸的過程中被關閉,則這種情況會發生。

Aborted_connects

指出試圖連接到MYSQL的失敗的次數。這種情況在客戶嘗試用錯誤的密碼進行連接時,沒有權限進行連接時,為獲得連接的數據包所花費的時間超過了connect_timeout限制的秒數,或數據包中沒有包含正確的信息時,都會發生。

Bytes_received

從客戶處已經接收到的字節數。

Bytes_sent

已經發送給所有客戶的字節數。

Com_[statement]

用於每一種語句的這些變量中的一種。變量值表示這條語句被執行的次數,如com_select,表示查詢語句被執行的次數。

Connections

試圖連接到MYSQL服務器的次數。

Created_tmp_disk_tables

執行語句時,磁盤上生成的隱含臨時表的數量

Created_tmp_tables

執行語句時,內存中生成的隱含臨時表的數量

Created_tmp_files

由mysqld生成的臨時文件的數量

Delayed_insert_threads

當前正在使用的延遲插入句柄的線程數量

Delayed_writes

由INSERT DELAYED語句寫入的記錄的個數

Delayed_errors

當發生錯誤時,由INSERT DELAYED語句寫入的記錄的。絕大多數普通的錯誤是復制鍵

Flush_commands

被執行的FLUSH語句的個數

Handler_commit

內部COMMIT命令的個數

Handler_delete

從一個表中刪除行的次數

Handler_read_first

一條索引中的第一個條目被讀取的次數,通常是指完全索引掃描(例如,假定indexed_col被索引,語句SELECT indexed_col from tablename導致了一個完全索引掃描)

Handler_read_key

當讀取一行數據時,使用索引的請求的個數。如果查詢時使用了索引,就希望這個值快速增加

Handler_read_next

按照索引順序讀取下一行數據的請求的個數。如果使用了完全索引進行掃描,或者在一個不變的范圍內查詢一個索引,則這個值就會增加

Handler_read_prev

按照索引的順序讀取前面一行數據的請求的個數。這個變量值由SELECT fieldlist ORDER BY fields DESC類型的語句使用

Handler_read_rnd

在固定的位置讀取一行數據的請求的個數。要求結果被保存起來的查詢操作將增加這個計數器的值

Handler_read_rnd_next

讀取數據文件中下一行數據的請求的個數。一般,這個值不能太高,因為這意味著查詢操作不會使用索引,並且必須從數據文件中讀取

Handler_rollback

內部ROLLBACK命令的數量

Handler_update

在表中更新一條記錄的請求的數量

Handler_write

在表中插入一條記錄的請求的數量

Key_blocks_used

用在鍵的緩存中的數據塊的數量

Key_read_requests

引起從鍵的緩存讀取鍵的數據塊的請求的數量。Key_reads與Key_read_requests的比率不應該高於1:100(也就是,1:10很糟糕)

Key_reads

引起從磁盤讀取鍵的數據塊的物理讀取操作的數量。

Key_write_requests

引起鍵的數據塊被寫入緩存的請求的數量

Key_writes

向磁盤寫入鍵的數據塊的物理寫操作的次數

Max_used_connections

在任意時刻,正在使用的連接的最大數量

Not_flushed_key_blocks

在鍵的緩存中,已經發生了改變但還沒有被刷新到磁盤上的鍵的數據塊的數量

Not_flushed_delayed_rows

當前在INSERT DELAY隊列中,等待被寫入的記錄的個數

Open_tables

目前打開的表的數量

Open_files

當前打開的文件的數量

Open_streams

當前打開的流數據的數量。這些流數據主要用於日志記錄

Opened_tables

已經被打開的表的數量

Questions

初始的查詢操作的總數

Qcache_queries_in_cache

緩存中查詢的個數

Qcache_inserts

添加到緩存中的查詢的個數命中次數除以插入次數就是不中比率;用1減去這個值就是命中率

Qcache_hits

查詢緩存被訪問的個數

Qcache_lowmem_prunes

緩存出現內存不足並且必須要進行清理以便為更多查詢提供空間的次數。這個數字最好長時間來看;如果這個數字在不斷增長,就表示可能碎片非常嚴重,或者內存很少。(上面的free_blocksfree_memory可以告訴您屬於哪種情況)。

Qcache_not_cached

沒有被緩存(由於太大,或因為QUERY_CACHE_TYPE)的查詢的數量

Qcache_free_memory

仍然可用於查詢緩存的內存的數量

Qcache_free_blocks

在查詢緩存中空閒內存塊的數量,數量大說明可能有碎片

Qcache_total_blocks

在查詢緩存中數據塊的總數

Rpl_status

完全復制的狀態(這個變量只在MYSQL 4之後的版本中使用)

Select_full_join

已經被執行的沒有使用索引的聯接的數量。不能將這個變量值設的太高

 

 現實開發中,並不需要全部了解這些變量信息的情況,其實可以試試mysqlreport命令,mysqlreport是站在巨人肩膀上的,它所做的事情就是把show status 和sho innodb status的結果進行一系列的後期處理,將我們更關心的內容以可讀性更好得方式呈現出來

關於上面的一些注釋:

如果Opened_tables太大,那麼你的table_cache變量可能太小。
如果key_reads太大,那麼你的key_cache可能太小。緩存命中率可以用key_reads/key_read_requests計算。
如果Handler_read_rnd太大,那麼你很可能有大量的查詢需要MySQL掃描整個表或你有沒正確使用鍵值的聯結(join)。
SHOW VARIABLES顯示出一些MySQL系統變量的值,你也能使用mysqladmin variables命令得到這個信息。如果缺省值不合適,你能在mysqld啟動時使用命令行選項來設置這些變量的大多數。

SHOW PROCESSLIST顯示哪個線程正在運行,你也能使用mysqladmin processlist命令得到這個信息。如果你有process權限,你能看見所有的線程,否則,你僅能看見你自己的線程。見7.20 KILL句法。如果你不使用FULL選項,那麼每個查詢只有頭100字符被顯示出來。

SHOW GRANTS FOR user列出對一個用戶必須發出以重復授權的授權命令

copyright © 萬盛學電腦網 all rights reserved