mysql鎖表確認(rèn)及解除鎖表的實(shí)現(xiàn)示例
一、查看表是否被鎖
一共3種方式
1、查詢庫表命令
information_schema庫里的processlist表,存著正在進(jìn)行的線程數(shù)據(jù),可通過where條件模糊匹配執(zhí)行sql中的表名來拿到該表的相關(guān)線程數(shù)據(jù)。
通過查看state字段確認(rèn)表是否被鎖,可翻譯或百度查看詳細(xì)鎖表原因。
select id,db,user,host,command,time,state,info from information_schema.processlist #where info like '%表名%' order by time desc;

| 字段 | 注釋 |
| id | 線程id標(biāo)識,當(dāng)鎖表或進(jìn)程卡死時可用kill殺掉 |
| user | 當(dāng)前連接用戶 |
| host | 顯示當(dāng)前線程命令發(fā)出的的客戶端Ip和端口號,用來追蹤 |
| db | 當(dāng)前連接的數(shù)據(jù)庫名 |
| command | 連接狀態(tài),一般是休眠(sleep),查詢(query),連接(connect)的命令的類型 |
| time | 連接執(zhí)行時間,單位是秒 |
| state | 顯示當(dāng)前線程中sql語句的執(zhí)行狀態(tài) |
| info | 執(zhí)行的sql語句 |
確認(rèn)被鎖后,用命令kill殺掉該線程來釋放。
kill id;
2、連接工具直接查詢
我這用navicat演示



通過查看state字段確認(rèn)表是否被鎖。
確認(rèn)被鎖后,用命令kill殺掉該線程來釋放。
3、show processlist 命令
使用show processlist;查詢命令來查看當(dāng)前所有線程
show processlist;
也可添加full查看更詳細(xì)的內(nèi)容
show full processlist;
區(qū)別:
- 如果不用full,則在Info字段中只顯示每個語句的前100個字符
這個命令要一條條數(shù)據(jù)查找,建議使用前兩種才方法
查看info字段中的表名。
通過查看state字段確認(rèn)表是否被鎖。
確認(rèn)被鎖后,用命令kill殺掉該線程來釋放。
二、解鎖表
確認(rèn)被鎖后,用命令kill殺掉相關(guān)線程來釋放。
kill 線程id;
到此這篇關(guān)于mysql 鎖表確認(rèn)及解除鎖表的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)mysql 鎖表確認(rèn)及解除鎖表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Navicat Premiun遠(yuǎn)程連接MySQL報錯10038解決方案
這篇文章主要介紹了Navicat Premiun遠(yuǎn)程連接MySQL報錯10038解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
MySQL報錯1067 :Invalid default value for&n
在使用MySQL5.7時,還原數(shù)據(jù)庫的時候報錯,下面就來介紹一下MySQL報錯1067 :Invalid default value for ‘字段名’,具有一定的參考價值,感興趣的可以了解一下2024-05-05
詳解MySQL數(shù)據(jù)庫千萬級數(shù)據(jù)查詢和存儲
百萬級、千萬級數(shù)據(jù)處理,核心關(guān)鍵在于數(shù)據(jù)存儲方案設(shè)計,存儲方案設(shè)計的是否合理,直接影響到數(shù)據(jù)CRUD操作??傮w設(shè)計可以考慮一下幾個方面進(jìn)行設(shè)計考慮:數(shù)據(jù)存儲結(jié)構(gòu)設(shè)計;索引設(shè)計;數(shù)據(jù)主鍵設(shè)計;查詢方案設(shè)計。2021-05-05
MySQL使用TEXT/BLOB類型的知識點(diǎn)詳解
在本篇文章里小編給大家整理的是關(guān)于MySQL使用TEXT/BLOB類型的幾點(diǎn)注意內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2020-03-03

