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_blocks
和free_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列出對一個用戶必須發出以重復授權的授權命令