MYSQL資料庫簡單的狀態檢查(show status)
阿新 • • 發佈:2019-02-07
show processlist可以檢查mysql當前sql語句的執行情況,而show status就可以檢查mysql當前的狀態
命令:show status(PS:可以通過like來過濾一些不必要的資訊)
這個命令返回的資訊相當之多,一共返回了291行資訊(不用版本可能會有所差異哈),我選擇了幾個比較重點的來進行分析。
1.慢查詢
mysql> show status like '%slow%'; +---------------------+-------+ | Variable_name | Value | +---------------------+-------+ | Slow_launch_threads | 0 | | Slow_queries | 0 | +---------------------+-------+
Slow_queries顯示了當前慢查詢的數量,如果慢查詢很多,可以通過慢查詢日誌或者show processlist檢查慢查詢語句。
2.連結數
mysql> show status like '%max_used_connections%';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 4 |
+----------------------+-------+
如果顯示的連結數過大,留意當前伺服器的併發數,單臺伺服器是不是已經不堪重負了。一般的,連線數應該為最大連結數的85%左右。
3.key_read
mysql> show variables like 'key_buffer_size'; +-----------------+---------+ | Variable_name | Value | +-----------------+---------+ | key_buffer_size | 8384512 | +-----------------+---------+ 1 row in set (0.00 sec) mysql> show global status like 'key_read%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Key_read_requests | 436 | | Key_reads | 6 | +-------------------+-------+ 2 rows in set (0.00 sec)
key_buffer_size是對myisam引擎影響很大的一個引數(目前mysql不應該再使用myisam引擎了,除了迫不得已的情況)。上面命令可以得出一共有436個索引請求,其中6個請求在記憶體中沒有找到索引,而在硬碟中讀取索引。
!PS:一般地myisam的索引是儲存在記憶體當中的,當索引長度大於key_buffer_size的時候,myisam無法從記憶體中獲取索引,這是應該調高key_buffer_size的值。