mysql檢視當前資料庫鎖請求

2021-09-02 05:02:26 字數 2160 閱讀 7395

information_shcema下的三張表(通過這三張表可以更新監控當前事物並且分析存在的鎖問題)

—— innodb_trx (列印innodb核心中的當前活躍事務)

—— innodb_locks ( 列印當前狀態產生的innodb鎖僅在有鎖等待時列印

—— innodb_lock_waits(列印當前狀態產生的innodb鎖等待僅在有鎖等待時列印

1) innodb_trx表結構說明 (摘取最能說明問題的8個字段)

欄位名說明

trx_idinnodb儲存引擎內部唯一的事物id

trx_state當前事物狀態(running和lock wait兩種狀態)

trx_started事物的開始時間

trx_requested_lock_id等待事物的鎖id,如trx_state的狀態為lock wait,那麼該值帶表當前事物等待之前事物占用資源的id,若trx_state不是lock wait 則該值為null

trx_wait_started事物等待的開始時間

trx_weight事物的權重,在innodb儲存引擎中,當發生死鎖需要回滾的時,innodb儲存引擎會選擇該值最小的進行回滾

trx_mysql_thread_idmysql中的執行緒id, 即show  processlist顯示的結果

trx_query事物執行的sql語句

2)innodb_locks表結構說明

欄位名說明

lock_id鎖的id

lock_trx_id事物的id

lock_mode鎖的模式(s鎖與x鎖兩種模式)

lock_type鎖的型別 表鎖還是行鎖(record)

lock_table要加鎖的表

lock_index鎖住的索引

lock_space鎖住物件的space id

lock_page事物鎖定頁的數量,若是表鎖則該值為null

lock_rec事物鎖定行的數量,若是表鎖則該值為null

lock_data事物鎖定記錄主鍵值,若是表鎖則該值為null(此選項不可信)

3)innodb_lock_waits表結構說明

欄位名說明

requesting_trx_id申請鎖資源的事物id

requested_lock_id申請的鎖的id

blocking_trx_id阻塞其他事物的事物id

blocking_lock_id阻塞其他鎖的鎖id

mysql檢視 MySQL檢視當前資料庫庫

mysql檢視當前資料庫庫 1 在mysql下檢視當前使用的是哪個資料庫,有三種方式 用select database 語句 mysql select database database test row in set 0.00 sec 從查詢結果中可以看出,當前用的是test資料庫 2 用show...

檢視當前資料庫情況

正在執行的 select a.username,a.sid,b.sql text,b.sql fulltext from v session a,v sqlarea b where a.sql address b.address 執行過的 select b.sql text,b.first load...

檢視oracle資料庫鎖

方法一 檢視產生鎖的程序id 在資料庫伺服器上 主機 如應用伺服器 等等 select s.machine sourse host,p.spid pid,l.session id sid,s.serial l.locked mode,l.oracle username,s.user l.os use...