手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

幫助中心 >  技術(shù)知識庫 >  數(shù)據(jù)庫 >  相關(guān)技術(shù)支持 >  MySQL使用show status查看MySQL服務(wù)器狀態(tài)信息

MySQL使用show status查看MySQL服務(wù)器狀態(tài)信息

2017-03-29 08:29:05 202

MySQL使用show status查看MySQL服務(wù)器狀態(tài)信息


這篇文章主要介紹了MySQL使用show status查看MySQL服務(wù)器狀態(tài)信息,需要的朋友可以參考下


在LAMP架構(gòu)的網(wǎng)站開發(fā)過程中,有些時候我們需要了解MySQL的服務(wù)器狀態(tài)信息,譬如當(dāng)前MySQL啟動后的運(yùn)行時間,當(dāng)前MySQL的客戶端會話連接數(shù),當(dāng)前MySQL服務(wù)器執(zhí)行的慢查詢數(shù),當(dāng)前MySQL執(zhí)行了多少SELECT語句、執(zhí)行了多少update/delete/INSERT語句等統(tǒng)計(jì)信息,從而便于我們根據(jù)當(dāng)前MySQL服務(wù)器的運(yùn)行狀態(tài)進(jìn)行對應(yīng)的調(diào)整或優(yōu)化工作。

在MySQL中,我們可以使用SHOW STATUS指令語句來查看MySQL服務(wù)器的狀態(tài)信息。下面,我們以DOS命令窗口的形式連接MySQL,并執(zhí)行show status;指令,我們將看到如下顯示信息:

show-status.png

當(dāng)我們執(zhí)行show status語句時,MySQL將會列出多達(dá)300多條的狀態(tài)信息記錄,其中包括了供我們查看了解的各種信息。不過,如果直接使用show status指令得到300多條記錄,會讓我們看得眼花繚亂,因此我們希望能夠「按需查看」一部分狀態(tài)信息。這個時候,我們可以在show status語句后加上對應(yīng)的like子句。例如,我們想要查看當(dāng)前MySQL啟動后的運(yùn)行時間,我們可以執(zhí)行如下語句:

--查詢當(dāng)前MySQL本次啟動后的運(yùn)行統(tǒng)計(jì)時間
show status like 'uptime';

此時,我們就可以看到如下結(jié)果:

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Uptime    | 5667 |
+---------------+-------+
1 row in set (0.00 sec)

同樣的,如果我們要本次MySQL啟動后執(zhí)行的SELECT語句的次數(shù),我們可以執(zhí)行如下語句:

show status like 'com_select'

對應(yīng)輸出結(jié)果如下:

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select  | 1   |
+---------------+-------+
1 row in set (0.00 sec)

此外,與where子句中的LIKE關(guān)鍵字類似,show status后的LIKE關(guān)鍵字也可以使用'_' 或'%'等通配符來進(jìn)行模糊匹配。例如我們可以執(zhí)行如下語句來查看MySQL服務(wù)器的線程信息:

show status like 'Thread_%';

對應(yīng)輸出結(jié)果如下:

+-------------------+-------+
| Variable_name   | Value |
+-------------------+-------+
| Threads_cached  | 0   |
| Threads_connected | 1   |
| Threads_created  | 1   |
| Threads_running  | 1   |
+-------------------+-------+
4 rows in set (0.00 sec)

值得注意的是,在上述show status like 'com_select'指令的執(zhí)行示例中,顯示的SELECT語句統(tǒng)計(jì)信息僅僅表示當(dāng)前會話連接執(zhí)行的SELECT語句數(shù)量。因?yàn)椋瑂how status指令的完整語法如下:

SHOW [統(tǒng)計(jì)范圍] STATUS [LIKE '狀態(tài)項(xiàng)名稱']
--統(tǒng)計(jì)范圍關(guān)鍵字分為GLOBAL和SESSION(或LOCAL)兩種。

在show status的完整語法中,"[]"中的部分是可選的,如果我們的show status語句中不包含統(tǒng)計(jì)范圍關(guān)鍵字,則默認(rèn)統(tǒng)計(jì)范圍為SESSION,也就是只統(tǒng)計(jì)當(dāng)前連接的狀態(tài)信息。如果我們需要查詢自當(dāng)前MySQL啟動后所有連接執(zhí)行的SELECT語句總數(shù),我們可以執(zhí)行如下語句:

show global status like 'com_select';

以?即是show status的詳細(xì)用法。由于show status的狀態(tài)統(tǒng)計(jì)項(xiàng)較多,我們就不再一一解釋每個統(tǒng)計(jì)項(xiàng)的具體含義,在這里,我們僅列出部分常用的狀態(tài)信息查看語句:

--查看MySQL本次啟動后的運(yùn)行時間(單位:秒)
show status like 'uptime';
 
--查看select語句的執(zhí)行數(shù)
show [global] status like 'com_select';
 
--查看insert語句的執(zhí)行數(shù)
show [global] status like 'com_insert';
 
--查看update語句的執(zhí)行數(shù)
show [global] status like 'com_update';
 
--查看delete語句的執(zhí)行數(shù)
show [global] status like 'com_delete';
 
--查看試圖連接到MySQL(不管是否連接成功)的連接數(shù)
show status like 'connections';
 
--查看線程緩存內(nèi)的線程的數(shù)量。
show status like 'threads_cached';
 
--查看當(dāng)前打開的連接的數(shù)量。
show status like 'threads_connected';
 
--查看當(dāng)前打開的連接的數(shù)量。
show status like 'threads_connected';
 
--查看創(chuàng)建用來處理連接的線程數(shù)。如果Threads_created較大,你可能要增加thread_cache_size值。
show status like 'threads_created';
 
--查看激活的(非睡眠狀態(tài))線程數(shù)。
show status like 'threads_running';
 
 
--查看立即獲得的表的鎖的次數(shù)。
show status like 'table_locks_immediate';
 
--查看不能立即獲得的表的鎖的次數(shù)。如果該值較高,并且有性能問題,你應(yīng)首先優(yōu)化查詢,然后拆分表或使用復(fù)制。
show status like 'table_locks_waited';
 
--查看創(chuàng)建時間超過slow_launch_time秒的線程數(shù)。
show status like 'slow_launch_threads';
 
--查看查詢時間超過long_query_time秒的查詢的個數(shù)。
show status like 'slow_queries';


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: