| 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列出對一個使用者必鬚髮出以重複授權的授權命令