1.查看mysql連接數
登錄到mysql命令行,使用如下命令可以查看當前處於連接未關閉狀態的進程列表。
show full processlist;
若不加上full選項,則最多顯示100條記錄。
若以root帳號登錄,你能看到所有用戶的當前連接。如果是其它普通帳號,只能看到自己占用的連接。
在調試程序時,如懷疑應用程式中存在申請db連接未釋放的情況,可以通過該命令查詢連接數(以應用程式中的user登錄)。如程序運行過程中連接數越來越多,則可以判斷程序中有db資源未釋放。
如需修改允許建立的最大連接數,win環境下需修改/mysql-advanced-5.6.19-win32/mysql-test/suite/ndb/下的my.cnf文件。
set-variable=max_user_connections=30 這個就是單用戶的連接數。
set-variable=max_connections=800 這個是全局的限制連接數。
2.查看mysql資料庫狀態
命令:
show status;
該命令會將db所有的狀態列印出來,如需其中特定的項可以加上like 『%變量名稱%』。
show status like 『%變量名稱%』。
常用變量有:
aborted_clients 由於客戶沒有正確關閉連接已經死掉,已經放棄的連接數量。
aborted_connects 嘗試已經失敗的mysql伺服器的連接的次數。
connections 試圖連接mysql伺服器的次數。
created_tmp_tables 當執行語句時,已經被創造了的隱含臨時表的數量。
delayed_insert_threads 正在使用的延遲插入處理器線程的數量。
delayed_writes 用insert delayed寫入的行數。
delayed_errors 用insert delayed寫入的發生某些錯誤(可能重複鍵值)的行數。
flush_commands 執行flush命令的次數。
handler_delete 請求從一張表中刪除行的次數。
handler_read_first 請求讀入表中第一行的次數。
handler_read_key 請求數字基於鍵讀行。
handler_read_next 請求讀入基於一個鍵的一行的次數。
handler_read_rnd 請求讀入基於一個固定位置的一行的次數。
handler_update 請求更新表中一行的次數。
handler_write 請求向表中插入一行的次數。
key_blocks_used 用於關鍵字緩存的塊的數量。
key_read_requests 請求從緩存讀入一個鍵值的次數。
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 發往伺服器的查詢的數量。
slow_queries 要花超過long_query_time時間的查詢數量。
threads_connected 當前打開的連接的數量。
threads_running 不在睡眠的線程數量。
uptime 伺服器工作了多少秒。
- 編程問答
- 答案列表
MySQL查看資料庫連接數和資料庫狀態[朗讀]
加入收藏