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 服務器工作了多少秒。
————————————————
版權聲明:本文為CSDN博主「super_bert」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/embedded_sky/article/details/45845435