1. 程式人生 > 實用技巧 >MySQL 鎖資訊檢視

MySQL 鎖資訊檢視

事務

-- 檢視當前所有事務
select * from information_schema.innodb_trx;
-- 檢視正在鎖的事務
select * from information_schema.innodb_locks;
-- 檢視等待鎖的事務
select * from information_schema.innodb_lock_waits;

-- 檢視當前有那些表是開啟的
show open tables;
-- In_use:有多少執行緒正在使用某張表
show OPEN TABLES where In_use > 0;

-- 解鎖
-- 顯示連線列表(查詢 ID)
show full processlist; -- 結束指定(ID)連線 kill id; -- 解鎖 UNLOCK TABLES; show status like '%lock%'; -- 加鎖 LOCK TABLES tbl_name READ; LOCK TABLES tbl_name WRITE;

執行緒

-- 檢視當前連線
-- Threads_connected:開啟的連線數
-- Threads_running:啟用的連線數(併發數,一般遠低於connected)
-- Threads_created:表示建立過的執行緒數
show status like 'Threads%
'; -- 如果 Threads_created 值過大的話,表明 MySQL 伺服器一直在建立執行緒,可以適當增加 thread_cache_size 值 show variables like 'thread_cache_size';

連線

-- 查詢最大連線數
show variables like '%max_connections%';
-- 設定最大連線數
set global max_connections=1000;
-- 在/etc/my.cnf裡面設定資料庫的最大連線數
-- [mysqld]
-- max_connections = 1000

其它查詢

-- 顯示連線狀態,可以把 connect 換成其它引數
show STATUS LIKE '%connect%'; -- 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:伺服器工作了多長時間,單位秒。


http://ourmysql.com/

http://blog.sina.com.cn/s/blog_63426ff90101du2a.html