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

Mysql事物阻塞的實現(xiàn)

 更新時間:2024年04月11日 09:03:59   作者:be.be  
本文主要介紹了Mysql事物阻塞的實現(xiàn),阻塞并不是一件壞事,其是為了確保事務可以并發(fā)且正常地運行,具有一定的參考價值,感興趣的可以了解一下

阻塞因為不同鎖之間的兼容性關(guān)系,在有些時刻一個事務中的鎖需要等待另一個事務中的鎖釋放它所占用的資源,這就是阻塞。

阻塞并不是一件壞事,其是為了確保事務可以并發(fā)且正常地運行。在InnoDB存儲引擎中,參數(shù)innodb_lock_wait_timeout用來控制等待的時間(默認是50秒),innodb_rollback_on_timeout用來設定是否在等待超時時對進行中的事務進行回滾操作(默認是OFF,代表不回滾)。參數(shù)innodb_lock_wait_timeout是動態(tài)的,可以在MySQL數(shù)據(jù)庫運行時進行調(diào)整而innodb_rollback_on_timeout是靜態(tài)的,不可在啟動時進行修改,當發(fā)生超時,MySQL數(shù)據(jù)庫會拋出一個1205的錯誤,需要牢記的是,在默認情況下InnoDB存儲引擎不會回滾超時引發(fā)的錯誤異常。其實InnoDB存儲引擎在大部分情況下都不會對異常進行回滾。

1、查看現(xiàn)有事物(鎖),批量生成 kill 命令

select CONCAT('kill ', trx_mysql_thread_id, ';') as kill_command, a.*
from information_schema.innodb_trx as a 
-- where trx_query is null 

2、查看指定數(shù)據(jù)庫的線程,及其對應的事物(鎖),批量生成 kill 命令

select CONCAT('kill ', trx_mysql_thread_id, ';') as kill_command, a.*, b.*
from information_schema.processlist as a 
left join information_schema.innodb_trx as b
-- join information_schema.innodb_trx as b
on a.id = b.trx_mysql_thread_id 

where a.db = 'my_db'
-- and b.trx_query is null

3、查看事務超時時間

SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';

lock_wait_timeout 是一個服務器級別的參數(shù),它用于設置所有連接在等待行級鎖或表級鎖時可以等待的最大時間。當連接等待的時間超過了 lock_wait_timeout 的值時,MySQL 將拋出一個錯誤,并終止連接。默認值為 31536000 秒(即一年)。

innodb_lock_wait_timeout 是一個存儲引擎級別的參數(shù),它僅用于設置使用 InnoDB 存儲引擎的連接在等待行級鎖或表級鎖時可以等待的最大時間。當連接等待的時間超過了 innodb_lock_wait_timeout 的值時,InnoDB 將拋出一個錯誤,并終止連接。默認值為 50 秒。

建議將 innodb_lock_wait_timeout 的值設置得比較小,因為這可以有效避免因等待鎖而導致的超時問題。但是,也要注意不要設置得過小,以免在高并發(fā)的情況下出現(xiàn)頻繁的超時錯誤。

到此這篇關(guān)于Mysql事物阻塞的實現(xiàn)的文章就介紹到這了,更多相關(guān)Mysql事物阻塞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql免安裝制作使用說明

    mysql免安裝制作使用說明

    mysql免安裝版本的制作方法,需要的朋友可以參考下。
    2010-08-08
  • CMD命令操作MySql數(shù)據(jù)庫的方法詳解

    CMD命令操作MySql數(shù)據(jù)庫的方法詳解

    今天小編就為大家分享一篇關(guān)于CMD命令操作MySql數(shù)據(jù)庫的方法詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • mysql二進制日志文件恢復數(shù)據(jù)庫

    mysql二進制日志文件恢復數(shù)據(jù)庫

    喜歡的在服務器或者數(shù)據(jù)庫上直接操作的兄弟們你值得收藏下!不然你就悲劇了。-----(當然我也是在網(wǎng)上搜索的資料!不過自己測試通過了的!)
    2014-08-08
  • mysql?WITH?RECURSIVE語法的具體使用

    mysql?WITH?RECURSIVE語法的具體使用

    WITH RECURSIVE是一個用于創(chuàng)建遞歸查詢的語句,本文主要介紹了mysql?WITH?RECURSIVE語法的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • SQL中CAST()實例之轉(zhuǎn)換數(shù)據(jù)類型

    SQL中CAST()實例之轉(zhuǎn)換數(shù)據(jù)類型

    CAST函數(shù)用于將某種數(shù)據(jù)類型的表達式顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于SQL中CAST()實例之轉(zhuǎn)換數(shù)據(jù)類型的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • MySql命令實例匯總

    MySql命令實例匯總

    這篇文章主要介紹了MySql命令,結(jié)合實例分析了MySQL數(shù)據(jù)庫的創(chuàng)建、連接及增刪改查等各種常用操作的使用方法與相關(guān)注意事項,非常具有實用價值,需要的朋友可以參考下
    2015-11-11
  • Mysql啟動報ERROR:2002的分析與解決

    Mysql啟動報ERROR:2002的分析與解決

    這篇文章主要給大家介紹了關(guān)于Mysql啟動時報ERROR:2002問題的分析與解決方法,文中通過示例代碼介紹將該問題分析的非常詳細,對同樣遇到這個問題的朋友們具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-08-08
  • 淺談Mysql insert on duplicate key 死鎖問題定位與解決

    淺談Mysql insert on duplicate key 死鎖問

    本文介紹了在并發(fā)場景下的 insert on duplicate key update sql 出現(xiàn)的死鎖,經(jīng)過分析發(fā)現(xiàn)這種sql確實比較容易造成死鎖,這篇文章就從分析死鎖展開,到最終如何解決這樣的問題 分享相應的思路,感興趣的可以了解一下
    2022-05-05
  • Mysql支持的數(shù)據(jù)類型(列類型總結(jié))

    Mysql支持的數(shù)據(jù)類型(列類型總結(jié))

    MySQL支持大量的列類型,它可以被分為3類:數(shù)字類型、日期和時間類型以及字符串(字符)類型。本節(jié)首先給出可用類型的一個概述,并且總結(jié)每個列類型的存儲需求,然后提供每個類中的類型性質(zhì)的更詳細的描述
    2016-12-12
  • MySQL數(shù)據(jù)庫運維之數(shù)據(jù)恢復的方法

    MySQL數(shù)據(jù)庫運維之數(shù)據(jù)恢復的方法

    本篇文章主要介紹了MySQL數(shù)據(jù)庫運維之數(shù)據(jù)恢復的方法,此處總結(jié)一下恢復方案,并結(jié)合數(shù)據(jù)庫的二進制日志做下數(shù)據(jù)恢復的示范。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論