mysql查詢(xún)鎖表的實(shí)現(xiàn)方法
今天在做數(shù)據(jù)更新的時(shí)候,發(fā)現(xiàn)表中數(shù)據(jù)量不大,但是更新語(yǔ)句執(zhí)行很久都沒(méi)成功,經(jīng)過(guò)查詢(xún)后發(fā)現(xiàn)是表鎖死導(dǎo)致的,本文記錄一下鎖表解決步驟:
1.查看表是否被鎖
(1)直接在mysql命令行執(zhí)行:show engine innodb status。
(2)查看造成死鎖的sql語(yǔ)句,分析索引情況,然后優(yōu)化sql。
(3)然后show processlist,查看造成死鎖占用時(shí)間長(zhǎng)的sql語(yǔ)句。
(4)show status like '%lock%'。
2.查看表被鎖狀態(tài)和結(jié)束死鎖步驟
(1)查看表被鎖狀態(tài):
show OPEN TABLES where In_use > 0; 這個(gè)語(yǔ)句記錄當(dāng)前鎖表狀態(tài) 。
(2)查詢(xún)進(jìn)程:
show processlist查詢(xún)表被鎖進(jìn)程;查詢(xú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。
3.mysql查詢(xún)鎖表指令速查
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
到此這篇關(guān)于mysql查詢(xún)鎖表的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)mysql查詢(xún)鎖表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
學(xué)習(xí)mysql?如何行轉(zhuǎn)列與列傳行
這篇文章主要介紹了mysql行轉(zhuǎn)列與列傳行的使用方法,幫助大家更好的理解和學(xué)習(xí)MySQL的使用,語(yǔ)句不難,但有一定的知識(shí)參考價(jià)值,需要的朋友可以參考一下,希望給你的學(xué)習(xí)帶來(lái)幫助2022-02-02詳解MySQL中varchar和int隱式轉(zhuǎn)換的注意事項(xiàng)
這篇文章主要為大家詳細(xì)介紹了MySQL中varchar和int隱式轉(zhuǎn)換的注意事項(xiàng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12mysql數(shù)據(jù)庫(kù)詳解(基于ubuntu 14.0.4 LTS 64位)
這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)詳解(基于ubuntu 14.0.4 LTS 64位),具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12MySQL查看和修改事務(wù)隔離級(jí)別的實(shí)例講解
在本篇文章里小編給大家整理的是關(guān)于MySQL查看和修改事務(wù)隔離級(jí)別的實(shí)例講解,有興趣的朋友們學(xué)習(xí)下。2020-03-03MySQL最佳實(shí)踐之分區(qū)表基本類(lèi)型
這篇文章主要給大家介紹了關(guān)于MySQL最佳實(shí)踐之分區(qū)表基本類(lèi)型的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05