使用navicat測(cè)試學(xué)習(xí):
首先使用set autocommit = 0;(取消自動(dòng)提交,則當(dāng)執(zhí)行語(yǔ)句commit或者rollback執(zhí)行提交事務(wù)或者回滾)

在打開(kāi)一個(gè)執(zhí)行update

查詢 正在執(zhí)行的事務(wù):
SELECT * FROM information_schema.INNODB_TRX

根據(jù)這個(gè)事務(wù)的線程ID(trx_mysql_thread_id):
從上圖看出對(duì)應(yīng)的mysql 線程:一個(gè)94362 (第二個(gè)正在等待鎖)另一個(gè)是93847(第一個(gè)update 正在執(zhí)行 沒(méi)有提交事務(wù))
可以使用mysql命令:kill 線程id 殺掉線程
期間如果并未殺掉持有鎖的線程:則第二個(gè)update語(yǔ)句提示等待鎖超時(shí)

查詢mysql數(shù)據(jù)庫(kù)中還可以使用:
查看正在鎖的事務(wù)
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待鎖的事務(wù)
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
查詢mysql數(shù)據(jù)庫(kù)中存在的進(jìn)程
[sql] view plain copy
select * from information_schema.`PROCESSLIST`(show processlist;)
概念:
mysql中database、instance、session。
mysql中建立一個(gè)會(huì)話,不是和具體的數(shù)據(jù)庫(kù)相連接,而是跟instance建立會(huì)話(即在navicat上執(zhí)行一個(gè)查詢,可以查詢端口下對(duì)應(yīng)的多個(gè)數(shù)據(jù)庫(kù),查詢時(shí)數(shù)據(jù)庫(kù)名+數(shù)據(jù)表名即可)
在一個(gè)物理機(jī)上可以建立多個(gè)instance,通過(guò)port來(lái)區(qū)分實(shí)例。
而一個(gè)實(shí)例可以建立多個(gè)數(shù)據(jù)庫(kù),即一個(gè)會(huì)話可以操作一個(gè)實(shí)例上的多個(gè)數(shù)據(jù)庫(kù)。
jdbc協(xié)議連接數(shù)據(jù)庫(kù):jdbc:mysql://localhost:3306/test jdbc協(xié)議連接本地上端口為3306實(shí)例下的test數(shù)據(jù)庫(kù),則查詢數(shù)據(jù)表時(shí)不需要加上數(shù)據(jù)庫(kù)的名字。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
您可能感興趣的文章:- MySQL查看和修改事務(wù)隔離級(jí)別的實(shí)例講解
- MySQL找出未提交事務(wù)信息的方法分享
- Mysql中事務(wù)ACID的實(shí)現(xiàn)原理詳解
- mysql事務(wù)select for update及數(shù)據(jù)的一致性處理講解
- Java實(shí)現(xiàn)的mysql事務(wù)處理操作示例
- PHP+MySQL高并發(fā)加鎖事務(wù)處理問(wèn)題解決方法
- MySQL開(kāi)啟事務(wù)的方式