如有轉載,請注明出處:http://blog.csdn.net/embedded_sky
作者:[email protected]
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 伺服器工作了多少秒。