溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql查詢正在執行的事務以及等待鎖的操作方式

發布時間:2020-09-22 14:17:20 來源:腳本之家 閱讀:236 作者:追憶丶年華 欄目:MySQL數據庫

使用navicat測試學習:

首先使用set autocommit = 0;(取消自動提交,則當執行語句commit或者rollback執行提交事務或者回滾)

Mysql查詢正在執行的事務以及等待鎖的操作方式

在打開一個執行update

Mysql查詢正在執行的事務以及等待鎖的操作方式

查詢 正在執行的事務:

SELECT * FROM information_schema.INNODB_TRX

Mysql查詢正在執行的事務以及等待鎖的操作方式

根據這個事務的線程ID(trx_mysql_thread_id):

從上圖看出對應的mysql 線程:一個94362 (第二個正在等待鎖)另一個是93847(第一個update 正在執行 沒有提交事務)

可以使用mysql命令:kill  線程id       殺掉線程

期間如果并未殺掉持有鎖的線程:則第二個update語句提示等待鎖超時

Mysql查詢正在執行的事務以及等待鎖的操作方式

查詢mysql數據庫中還可以使用:

查看正在鎖的事務

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 

查看等待鎖的事務

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

查詢mysql數據庫中存在的進程

[sql] view plain copy

select * from information_schema.`PROCESSLIST`(show processlist;)

概念:

mysql中database、instance、session。

mysql中建立一個會話,不是和具體的數據庫相連接,而是跟instance建立會話(即在navicat上執行一個查詢,可以查詢端口下對應的多個數據庫,查詢時數據庫名+數據表名即可)

在一個物理機上可以建立多個instance,通過port來區分實例。

而一個實例可以建立多個數據庫,即一個會話可以操作一個實例上的多個數據庫。

jdbc協議連接數據庫:jdbc:mysql://localhost:3306/test    jdbc協議連接本地上端口為3306實例下的test數據庫,則查詢數據表時不需要加上數據庫的名字。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女