欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中出現(xiàn)lock?wait?timeout?exceeded問題及解決

 更新時間:2022年08月17日 09:58:53   作者:劉大大__  
這篇文章主要介紹了MySQL中出現(xiàn)lock?wait?timeout?exceeded問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

1、MySQL出現(xiàn)lock wait timeout exceeded; try restarting transaction

我們可以通過到information_schema 中來進行查找被鎖的語句。

解釋:information_schema這張數(shù)據(jù)表保存了MySQL服務(wù)器所有數(shù)據(jù)庫的信息。如數(shù)據(jù)庫名,數(shù)據(jù)庫的表,表欄的數(shù)據(jù)類型與訪問權(quán)限等。再簡單點,這臺MySQL服務(wù)器上,到底有哪些數(shù)據(jù)庫、各個數(shù)據(jù)庫有哪些表,每張表的字段類型是什么,各個數(shù)據(jù)庫要什么權(quán)限才能訪問,等等信息都保存在information_schema表里面。

我們可以用下面三張表來查原因:

  • innodb_trx 當前運行的所有事務(wù)
  • innodb_locks 當前出現(xiàn)的鎖
  • innodb_lock_waits 鎖等待的對應(yīng)關(guān)系

如果數(shù)據(jù)庫中有鎖的話,我們可以使用這條語句來查看:

select * from information_schema.innodb_trx

圖中紅色語句 LOCK WAIT為占用系統(tǒng)資源的語句,我們需要殺掉這個鎖,執(zhí)行 kill 線程id號。上面這條記錄的id為199120823069, trx_mysql_thread_id 為 738178711, 所以我們執(zhí)行:kill 738178711殺掉這個MySQL語句的線程即可。

執(zhí)行之后:

kill 738178711
// 查詢線程
// SELECT * from information_schema.processlist WHERE id = 738178711;
// show full processlist;

其他的記錄不需要關(guān)注,因為其他的記錄狀態(tài)為“RUNNING” 即正在執(zhí)行的事務(wù),并沒有鎖。

2、三張表字段說明

innodb_trx

desc information_schema.innodb_trx;

innodb_locks

desc information_schema.innodb_locks;

innodb_lock_waits

desc information_schema.innodb_lock_waits

3、終極方法

如果以上方法殺掉線程,但還是不能解決,則我們就可以查找執(zhí)行線程用時比較久的用戶,然后直接干掉。

SELECT * from information_schema.`PROCESSLIST` WHERE Time > 1000 AND USER = 'wonguser' ORDER BY TIME desc;
kill 740097562

這樣把所有耗時比較久的任務(wù)干掉,就可以解決這個問題了。

4、總結(jié)一下

關(guān)于我的那個問題,我通過這個方法 select * from information_schema.innodb_trx 已經(jīng)殺掉了線程,但通過表直接修改那個id對應(yīng)的數(shù)據(jù),還是會彈出Lock wait timeout exceeded; try restarting transaction這樣的異常,在網(wǎng)上找了許多未找出具體的解決方法,后來自己靈光一現(xiàn),可以找出那些好事比較久的線程,然后把那些可疑的線程殺掉,沒想到這個問題就解決了,可以正常對這行數(shù)據(jù)進行操作了。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mysql?刪除重復數(shù)據(jù)保留一條有效數(shù)據(jù)(最新推薦)

    Mysql?刪除重復數(shù)據(jù)保留一條有效數(shù)據(jù)(最新推薦)

    這篇文章主要介紹了Mysql?刪除重復數(shù)據(jù)保留一條有效數(shù)據(jù),實現(xiàn)原理也很簡單,mysql刪除重復數(shù)據(jù),多個字段分組操作,結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 在windows環(huán)境下配置并隨意切換兩種mysql版本的方法

    在windows環(huán)境下配置并隨意切換兩種mysql版本的方法

    這篇文章主要介紹了mysql:如何在windows環(huán)境下配置并隨意切換兩種mysql版本,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • MYSQL數(shù)據(jù)庫Innodb?引擎mvcc鎖實現(xiàn)原理

    MYSQL數(shù)據(jù)庫Innodb?引擎mvcc鎖實現(xiàn)原理

    這篇文章主要介紹了MYSQL數(shù)據(jù)庫Innodb?引擎mvcc鎖實現(xiàn)原理,但是mvcc?的實現(xiàn)原理是什么呢?下文我們就來實例說明來mvcc?的實現(xiàn)原理,感興趣的小伙伴可以參考一下
    2022-05-05
  • MySQL約束(創(chuàng)建表時的各種條件說明)

    MySQL約束(創(chuàng)建表時的各種條件說明)

    這篇文章主要介紹了MySQL約束(創(chuàng)建表時的各種條件說明),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Mysql5.7如何修改root密碼

    Mysql5.7如何修改root密碼

    mysql修改管理員root的密碼是個很常見的問題了,網(wǎng)上也有很多的教程,然而新版的MYSQL5.7卻能使用之前的教程,小編經(jīng)過一番摸索,才找到了修改辦法,這里分享給大家。
    2016-01-01
  • MySQL分區(qū)之指定各分區(qū)路徑詳解

    MySQL分區(qū)之指定各分區(qū)路徑詳解

    mysql分區(qū)后每個分區(qū)成了獨立的文件,雖然從邏輯上還是一張表其實已經(jīng)分成了多張獨立的表,下面這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)之指定各分區(qū)路徑的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • MySQL的Data_ADD函數(shù)與日期格式化函數(shù)說明

    MySQL的Data_ADD函數(shù)與日期格式化函數(shù)說明

    今天看到了MySQL的日期函數(shù),里面很多有用的,這里只把兩個參數(shù)不太好記的粘下來了。
    2010-06-06
  • 在MySQL中自定義參數(shù)的使用詳解

    在MySQL中自定義參數(shù)的使用詳解

    今天小編就為大家分享一篇在MySQL中自定義參數(shù)的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 將MySQL去重操作優(yōu)化到極致的操作方法

    將MySQL去重操作優(yōu)化到極致的操作方法

    這篇文章主要介紹了如何將MySQL去重操作優(yōu)化到極致,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • 數(shù)據(jù)庫中的sql完整性約束語句解析

    數(shù)據(jù)庫中的sql完整性約束語句解析

    這篇文章主要介紹了數(shù)據(jù)庫中的sql完整性約束語句解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11

最新評論