Mysql如何查詢鎖表
Mysql查詢鎖表
1.查看表是否被鎖
(1)直接在mysql命令行執(zhí)行:show engine innodb status。
(2)查看造成死鎖的sql語句,分析索引情況,然后優(yōu)化sql。
(3)然后show processlist,查看造成死鎖占用時(shí)間長(zhǎng)的sql語句。
(4)show status like ‘%lock%’。
2.查看表被鎖狀態(tài)和結(jié)束死鎖步驟
(1)查看表被鎖狀態(tài):show OPEN TABLES where In_use > 0; 這個(gè)語句記錄當(dāng)前鎖表狀態(tài) 。
(2)查詢進(jìn)程:show processlist查詢表被鎖進(jìn)程;查詢到相應(yīng)進(jìn)程killid。
(3)分析鎖表的SQL:分析相應(yīng)SQL,給表加索引,常用字段加索引,表關(guān)聯(lián)字段加索引。
(4)查看正在鎖的事物:SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS。
(5)查看等待鎖的事物:SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS。
Mysql查詢鎖表指令速查
1.查看當(dāng)前鎖超時(shí)時(shí)間
show variables like ‘innodb_lock_wait_timeout';
2.查看全局鎖超時(shí)時(shí)間
SHOW GLOBAL VARIABLES LIKE ‘innodb_lock_wait_timeout';
3.更改當(dāng)前鎖超時(shí)時(shí)間為120秒
SET innodb_lock_wait_timeout=120;
4.更改全局鎖超時(shí)時(shí)間為120秒
SET GLOBAL innodb_lock_wait_timeout=120;
5.查看鎖情況
show full processlist;
6.殺死鎖的辦法:
KILL 具體的id
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mysql中json類型數(shù)據(jù)查詢的實(shí)現(xiàn)
MySQL5.7開始支持JSON格式的數(shù)據(jù)類型,可以存儲(chǔ)和處理JSON類型的數(shù)據(jù),本文主要介紹一些關(guān)于json數(shù)據(jù)類型的查詢操作,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10Windows 8下MySQL Community Server 5.6安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows 8下MySQL Community Server 5.6安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09mysql報(bào)1292?Incorrect?datetime?value錯(cuò)誤的解決方法
這篇文章主要給大家介紹如何解決mysql報(bào)1292?Incorrect?datetime?value錯(cuò)誤,文中有詳細(xì)的解決方案,具有一定的參考價(jià)值,需要的同學(xué)可以參考閱讀下本文2023-07-07