mysql8查看鎖信息
一。準(zhǔn)備環(huán)境
1.登錄mysql,設(shè)置鎖等待時(shí)間,然后退出。
mysql> set global innodb_lock_wait_timeout=1200; Query OK, 0 rows affected (0.00 sec)
2.再次登錄MySQL。打開第一個(gè)session

3.登錄msyql,打開第二個(gè)session
2.登錄打開第二個(gè)session mysql> set autocommit=0; Query OK, 0 rows affected (0.00 sec) mysql> mysql> select @@autocommit; +--------------+ | @@autocommit | +--------------+ | 0 | +--------------+ 1 row in set (0.00 sec) mysql> use test mysql> update temp set name='bb' where id=1; #執(zhí)行這條sql,會(huì)一直卡住。
4.登錄MySQL,打開第三個(gè)session。
a:查看
mysql> select trx_id,trx_state,trx_started,trx_tables_locked,trx_rows_locked,trx_query from information_schema.innodb_trx;

看上圖trx_state的狀態(tài)LOCK_WAIT,同時(shí)trx_query對(duì)應(yīng)的sql語句,說明執(zhí)行這條sql阻塞了。事務(wù)id的字段trx_id的值1755425
b:查看
mysql> select ENGINE_LOCK_ID,ENGINE_TRANSACTION_ID,LOCK_MODE,LOCK_TYPE,INDEX_NAME,OBJECT_SCHEMA,OBJECT_NAME,LOCK_DATA,LOCK_STATUS,THREAD_ID from performance_schema.data_locks;

看上圖的lock_status出現(xiàn)了一個(gè)WAITING,同時(shí)THREAD_ID為57的線程處于等待狀態(tài)。對(duì)應(yīng)的ENGINE_TRANSACTION_ID的值就是a操作的圖字段trx_id的值1755425。
4.還要查看鎖事務(wù)的對(duì)應(yīng)關(guān)系,
mysql> select locked_table_name,locked_index,waiting_pid,waiting_lock_id,blocking_lock_id,blocking_pid from sys.innodb_lock_waits;

再次對(duì)比下??梢哉业疥P(guān)系,1等待的事務(wù)處理,是被2阻塞了。也就是鎖住了,需要2釋放鎖,1才可以執(zhí)行
mysql> select ENGINE_LOCK_ID,ENGINE_TRANSACTION_ID,LOCK_MODE,LOCK_TYPE,INDEX_NAME,OBJECT_SCHEMA,OBJECT_NAME,LOCK_DATA,LOCK_STATUS,THREAD_ID from performance_schema.data_locks; mysql> select locked_table_name,locked_index,waiting_pid,waiting_lock_id,blocking_lock_id,blocking_pid from sys.innodb_lock_waits;

同時(shí),查看waiting_pid跟blocking_pid的值就是線程id,對(duì)應(yīng)processlist
mysql> select locked_table_name,locked_index,waiting_pid,waiting_lock_id,blocking_lock_id,blocking_pid from sys.innodb_lock_waits; mysql> show processlist;

5.現(xiàn)在上面圖看不到blocking_pid對(duì)應(yīng)的線程THREAD_PID
mysql> select ENGINE_LOCK_ID,ENGINE_TRANSACTION_ID,LOCK_MODE,LOCK_TYPE,INDEX_NAME,OBJECT_SCHEMA,OBJECT_NAME,LOCK_DATA,LOCK_STATUS,THREAD_ID from performance_schema.data_locks; mysql> select locked_table_name,locked_index,waiting_pid,waiting_lock_id,blocking_lock_id,blocking_pid from sys.innodb_lock_waits;

6.通過上圖可以看到。 blocking_pid為15 對(duì)應(yīng)的線程THREAD_PID 為56.
waiting_pid為16 對(duì)應(yīng)的線程THREAD_PID 為57.
mysql> select THREAD_ID,EVENT_ID,EVENT_NAME,SQL_TEXT from performance_schema.events_statements_history where THREAD_ID in (56,57) order by THREAD_ID,EVENT_ID;

從圖上分析,就可以看出blocking_pid,也就是已經(jīng)鎖了執(zhí)行的sql是啥。

附:mysql8.0查看死鎖
記錄工作日常遇到的問題
在mysql5.7、mysql5.8等5系版本中
查看死鎖代碼是
select * from information_schema.innodb_locks;
查看等待鎖的代碼
select * from information_schema.innodb_lock_waits
mysql 8.0中查看死鎖代碼變了
如果繼續(xù)用5.7的代碼會(huì)提示報(bào)錯(cuò)
Unknown table ‘INNODB_LOCKS' in information_schema
所以在8.0使用以下代碼
#查看死鎖 select * from performance_schema.data_locks; #查看死鎖等待時(shí)間 select * from performance_schema.data_lock_waits;
然后kill就行了
總結(jié)
到此這篇關(guān)于mysql8查看鎖信息的文章就介紹到這了,更多相關(guān)mysql8查看鎖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySql如何實(shí)現(xiàn)遠(yuǎn)程登錄MySql數(shù)據(jù)庫過程解析
這篇文章主要介紹了MySql如何實(shí)現(xiàn)遠(yuǎn)程登錄MySql數(shù)據(jù)庫過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
MySQL創(chuàng)建數(shù)據(jù)表時(shí)設(shè)定引擎MyISAM/InnoDB操作
這篇文章主要介紹了MySQL創(chuàng)建數(shù)據(jù)表時(shí)設(shè)定引擎MyISAM/InnoDB操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
如何優(yōu)雅、安全的關(guān)閉MySQL進(jìn)程
這篇文章主要介紹了如何優(yōu)雅、安全的關(guān)閉MySQL進(jìn)程,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下2020-08-08
mysql xtrabackup 備份恢復(fù)實(shí)現(xiàn)分享
Xtrabackup是由percona提供的mysql數(shù)據(jù)庫備份工具,據(jù)官方介紹,這也是世界上惟一一款開源的能夠?qū)nnodb和xtradb數(shù)據(jù)庫進(jìn)行熱備的工具2012-11-11
MySQL8中大小寫敏感與不敏感排序規(guī)則的選擇(根據(jù)字段語義)
MySQL排序規(guī)則決定字符比較、排序等行為,與字符集綁定,影響ORDER?BY等操作,這篇文章主要介紹了MySQL8中大小寫敏感與不敏感排序規(guī)則的選擇,需要的朋友可以參考下2026-04-04
docker安裝MySQL報(bào)錯(cuò)端口被占用問題解決辦法
docker部署mysql容器時(shí),最常見的啟動(dòng)失敗原因之一是宿主機(jī)的3306端口被占用,這篇文章主要介紹了docker安裝MySQL報(bào)錯(cuò)端口被占用問題解決辦法的相關(guān)資料,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下2026-03-03

