要查看MySQL運行狀態,要優化MySQL運行效率都少不了要運行show status查看各類狀態,下面是參考官方文檔及網上資料整理出來的中文詳細解釋:mysql
狀態名 | 做用域 | 詳細解釋 |
Aborted_clients | Global | 因爲客戶端沒有正確關閉鏈接致使客戶端終止而中斷的鏈接數 |
Aborted_connects | Global | 試圖鏈接到MySQL服務器而失敗的鏈接數 |
Binlog_cache_disk_use | Global | 使用臨時二進制日誌緩存但超過binlog_cache_size值並使用臨時文件來保存事務中的語句的事務數量 |
Binlog_cache_use | Global | 使用臨時二進制日誌緩存的事務數量 |
Bytes_received | Both | 從全部客戶端接收到的字節數。 |
Bytes_sent | Both | 發送給全部客戶端的字節數。 |
com* | 各類數據庫操做的數量 | |
Compression | Session | 客戶端與服務器之間只否啓用壓縮協議 |
Connections | Global | 試圖鏈接到(不論是否成功)MySQL服務器的鏈接數 |
Created_tmp_disk_tables | Both | 服務器執行語句時在硬盤上自動建立的臨時表的數量 |
Created_tmp_files | Global | mysqld已經建立的臨時文件的數量 |
Created_tmp_tables | Both | 服務器執行語句時自動建立的內存中的臨時表的數量。若是Created_tmp_disk_tables較大,你可能要增長tmp_table_size值使臨時 表基於內存而不基於硬盤 |
Delayed_errors | Global | 用INSERT DELAYED寫的出現錯誤的行數(可能爲duplicate key)。 |
Delayed_insert_threads | Global | 使用的INSERT DELAYED處理器線程數。 |
Delayed_writes | Global | 寫入的INSERT DELAYED行數 |
Flush_commands | Global | 執行的FLUSH語句數。 |
Handler_commit | Both | 內部提交語句數 |
Handler_delete | Both | 行從表中刪除的次數。 |
Handler_discover | Both | MySQL服務器能夠問NDB CLUSTER存儲引擎是否知道某一名字的表。這被稱做發現。Handler_discover說明經過該方法發現的次數。 |
Handler_prepare | Both | A counter for the prepare phase of two-phase commit operations. |
Handler_read_first | Both | 索引中第一條被讀的次數。若是較高,它建議服務器正執行大量全索引掃描;例如,SELECT col1 FROM foo,假定col1有索引。 |
Handler_read_key | Both | 根據鍵讀一行的請求數。若是較高,說明查詢和表的索引正確。 |
Handler_read_next | Both | 按照鍵順序讀下一行的請求數。若是你用範圍約束或若是執行索引掃描來查詢索引列,該值增長。 |
Handler_read_prev | Both | 按照鍵順序讀前一行的請求數。該讀方法主要用於優化ORDER BY ... DESC。 |
Handler_read_rnd | Both | 根據固定位置讀一行的請求數。若是你正執行大量查詢並須要對結果進行排序該值較高。你可能使用了大量須要MySQL掃描整個表的查詢或你的鏈接沒有正確使用鍵。 |
Handler_read_rnd_next | Both | 在數據文件中讀下一行的請求數。若是你正進行大量的表掃描,該值較高。一般說明你的表索引不正確或寫入的查詢沒有利用索引。 |
Handler_rollback | Both | 內部ROLLBACK語句的數量。 |
Handler_savepoint | Both | 在一個存儲引擎放置一個保存點的請求數量。 |
Handler_savepoint_rollback | Both | 在一個存儲引擎的要求回滾到一個保存點數目。 |
Handler_update | Both | 在表內更新一行的請求數。 |
Handler_write | Both | 在表內插入一行的請求數。 |
Innodb_buffer_pool_pages_data | Global | 包含數據的頁數(髒或乾淨)。 |
Innodb_buffer_pool_pages_dirty | Global | 當前的髒頁數。 |
Innodb_buffer_pool_pages_flushed | Global | 要求清空的緩衝池頁數 |
Innodb_buffer_pool_pages_free | Global | 空頁數。 |
Innodb_buffer_pool_pages_latched | Global | 在InnoDB緩衝池中鎖定的頁數。這是當前正讀或寫或因爲其它緣由不能清空或刪除的頁數。 |
Innodb_buffer_pool_pages_misc | Global | 忙的頁數,由於它們已經被分配優先用做管理,例如行鎖定或適用的哈希索引。該值還能夠計算爲Innodb_buffer_pool_pages_total - Innodb_buffer_pool_pages_free - Innodb_buffer_pool_pages_data。 |
Innodb_buffer_pool_pages_total | Global | 緩衝池總大小(頁數)。 |
Innodb_buffer_pool_read_ahead_rnd | Global | InnoDB初始化的「隨機」read-aheads數。當查詢以隨機順序掃描表的一大部分時發生。 |
Innodb_buffer_pool_read_ahead_seq | Global | InnoDB初始化的順序read-aheads數。當InnoDB執行順序全表掃描時發生。 |
Innodb_buffer_pool_read_requests | Global | InnoDB已經完成的邏輯讀請求數。 |
Innodb_buffer_pool_reads | Global | 不能知足InnoDB必須單頁讀取的緩衝池中的邏輯讀數量。 |
Innodb_buffer_pool_wait_free | Global | 通常狀況,經過後臺向InnoDB緩衝池寫。可是,若是須要讀或建立頁,而且沒有乾淨的頁可用,則它還須要先等待頁面清空。該計數器對等待實例進行記數。若是已經適當設置緩衝池大小,該值應小。 |
Innodb_buffer_pool_write_requests | Global | 向InnoDB緩衝池的寫數量。 |
Innodb_data_fsyncs | Global | fsync()操做數。 |
Innodb_data_pending_fsyncs | Global | 當前掛起的fsync()操做數。 |
Innodb_data_pending_reads | Global | 當前掛起的讀數。 |
Innodb_data_pending_writes | Global | 當前掛起的寫數。 |
Innodb_data_read | Global | 至此已經讀取的數據數量(字節)。 |
Innodb_data_reads | Global | 數據讀總數量。 |
Innodb_data_writes | Global | 數據寫總數量。 |
Innodb_data_written | Global | 至此已經寫入的數據量(字節)。 |
Innodb_dblwr_pages_written | Global | 已經執行的雙寫操做數量 |
Innodb_dblwr_writes | Global | 雙寫操做已經寫好的頁數 |
Innodb_log_waits | Global | 咱們必須等待的時間,由於日誌緩衝區過小,咱們在繼續前必須先等待對它清空 |
Innodb_log_write_requests | Global | 日誌寫請求數。 |
Innodb_log_writes | Global | 向日志文件的物理寫數量。 |
Innodb_os_log_fsyncs | Global | 向日志文件完成的fsync()寫數量。 |
Innodb_os_log_pending_fsyncs | Global | 掛起的日誌文件fsync()操做數量。 |
Innodb_os_log_pending_writes | Global | 掛起的日誌文件寫操做 |
Innodb_os_log_written | Global | 寫入日誌文件的字節數。 |
Innodb_page_size | Global | 編譯的InnoDB頁大小(默認16KB)。許多值用頁來記數;頁的大小很容易轉換爲字節。 |
Innodb_pages_created | Global | 建立的頁數。 |
Innodb_pages_read | Global | 讀取的頁數。 |
Innodb_pages_written | Global | 寫入的頁數。 |
Innodb_row_lock_current_waits | Global | 當前等待的待鎖定的行數。 |
Innodb_row_lock_time | Global | 行鎖定花費的總時間,單位毫秒。 |
Innodb_row_lock_time_avg | Global | 行鎖定的平均時間,單位毫秒。 |
Innodb_row_lock_time_max | Global | 行鎖定的最長時間,單位毫秒。 |
Innodb_row_lock_waits | Global | 一行鎖定必須等待的時間數。 |
Innodb_rows_deleted | Global | 從InnoDB表刪除的行數。 |
Innodb_rows_inserted | Global | 插入到InnoDB表的行數。 |
Innodb_rows_read | Global | 從InnoDB表讀取的行數。 |
Innodb_rows_updated | Global | InnoDB表內更新的行數。 |
Key_blocks_not_flushed | Global | 鍵緩存內已經更改但尚未清空到硬盤上的鍵的數據塊數量。 |
Key_blocks_unused | Global | 鍵緩存內未使用的塊數量。你可使用該值來肯定使用了多少鍵緩存 |
Key_blocks_used | Global | 鍵緩存內使用的塊數量。該值爲高水平線標記,說明已經同時最多使用了多少塊。 |
Key_read_requests | Global | 從緩存讀鍵的數據塊的請求數。 |
Key_reads | Global | 從硬盤讀取鍵的數據塊的次數。若是Key_reads較大,則Key_buffer_size值可能過小。能夠用Key_reads/Key_read_requests計算緩存損失率。 |
Key_write_requests | Global | 將鍵的數據塊寫入緩存的請求數。 |
Key_writes | Global | 向硬盤寫入將鍵的數據塊的物理寫操做的次數。 |
Last_query_cost | Session | 用查詢優化器計算的最後編譯的查詢的總成本。用於對比同一查詢的不一樣查詢方案的成本。默認值0表示尚未編譯查詢。 默認值是0。Last_query_cost具備會話範圍。 |
Max_used_connections | Global | 服務器啓動後已經同時使用的鏈接的最大數量。 |
ndb* | ndb集羣相關 | |
Not_flushed_delayed_rows | Global | 等待寫入INSERT DELAY隊列的行數。
|
Open_files | Global | 打開的文件的數目。 |
Open_streams | Global | 打開的流的數量(主要用於記錄)。 |
Open_table_definitions | Global | 緩存的.frm文件數量 |
Open_tables | Both | 當前打開的表的數量。 |
Opened_files | Global | 文件打開的數量。不包括諸如套接字或管道其餘類型的文件。 也不包括存儲引擎用來作本身的內部功能的文件。 |
Opened_table_definitions | Both | 已經緩存的.frm文件數量 |
Opened_tables | Both | 已經打開的表的數量。若是Opened_tables較大,table_cache 值可能過小。 |
Prepared_stmt_count | Global | 當前的預處理語句的數量。 (最大數爲系統變量: max_prepared_stmt_count) |
Qcache_free_blocks | Global | 查詢緩存內自由內存塊的數量。 |
Qcache_free_memory | Global | 用於查詢緩存的自由內存的數量。 |
Qcache_hits | Global | 查詢緩存被訪問的次數。 |
Qcache_inserts | Global | 加入到緩存的查詢數量。 |
Qcache_lowmem_prunes | Global | 因爲內存較少從緩存刪除的查詢數量。 |
Qcache_not_cached | Global | 非緩存查詢數(不可緩存,或因爲query_cache_type設定值未緩存)。 |
Qcache_queries_in_cache | Global | 登記到緩存內的查詢的數量。 |
Qcache_total_blocks | Global | 查詢緩存內的總塊數。 |
Queries | Both | 服務器執行的請求個數,包含存儲過程當中的請求。 |
Questions | Both | 已經發送給服務器的查詢的個數。 |
Rpl_status | Global | 失敗安全複製狀態(還未使用)。 |
Select_full_join | Both | 沒有使用索引的聯接的數量。若是該值不爲0,你應仔細檢查表的索引 |
Select_full_range_join | Both | 在引用的表中使用範圍搜索的聯接的數量。 |
Select_range | Both | 在第一個表中使用範圍的聯接的數量。通常狀況不是關鍵問題,即便該值至關大。 |
Select_range_check | Both | 在每一行數據後對鍵值進行檢查的不帶鍵值的聯接的數量。若是不爲0,你應仔細檢查表的索引。 |
Select_scan | Both | 對第一個表進行徹底掃描的聯接的數量。 |
Slave_heartbeat_period | Global | 複製的心跳間隔 |
Slave_open_temp_tables | Global | 從服務器打開的臨時表數量 |
Slave_received_heartbeats | Global | 從服務器心跳數 |
Slave_retried_transactions | Global | 本次啓動以來從服務器複製線程重試次數 |
Slave_running | Global | 若是該服務器是鏈接到主服務器的從服務器,則該值爲ON。 |
Slow_launch_threads | Both | 建立時間超過slow_launch_time秒的線程數。 |
Slow_queries | Both | 查詢時間超過long_query_time秒的查詢的個數。 |
Sort_merge_passes | Both | 排序算法已經執行的合併的數量。若是這個變量值較大,應考慮增長sort_buffer_size系統變量的值。 |
Sort_range | Both | 在範圍內執行的排序的數量。 |
Sort_rows | Both | 已經排序的行數。 |
Sort_scan | Both | 經過掃描表完成的排序的數量。 |
ssl* | ssl鏈接相關 | |
Table_locks_immediate | Global | 當即得到的表的鎖的次數。 |
Table_locks_waited | Global | 不能當即得到的表的鎖的次數。若是該值較高,而且有性能問題,你應首先優化查詢,而後拆分表或使用複製。 |
Threads_cached | Global | 線程緩存內的線程的數量。 |
Threads_connected | Global | 當前打開的鏈接的數量。 |
Threads_created | Global | 建立用來處理鏈接的線程數。若是Threads_created較大,你可能要增長thread_cache_size值。緩存訪問率的計算方法Threads_created/Connections。 |
Threads_running | Global | 激活的(非睡眠狀態)線程數。 |
Uptime | Global | 服務器已經運行的時間(以秒爲單位)。 |
Uptime_since_flush_status | Global | 最近一次使用FLUSH STATUS 的時間(以秒爲單位)。 |