1. 程式人生 > >MYSQL資料庫簡單的狀態檢查(show status)

MYSQL資料庫簡單的狀態檢查(show status)

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的值。