Innodb

MariaDB (InnoDB) 客戶端斷開連接釋放鎖超時

  • September 8, 2021

我有 MariaDB(InnoDB)。我的客戶正在桌子上設置鎖定。

如果他因某種隨機原因失敗,我可以在伺服器上設置什麼超時設置來釋放鎖?

我知道數據庫發現客戶端已斷開連接並最終會釋放鎖,但在什麼時間之後?那是哪個設定?

我想要鎖定,以防止在系統中啟動另一個“主”,以避免在某些錯誤的 devops 設置的情況下重複工作。我會說單例集群模式。

我想知道您要做什麼,但以下是 MariaDB 死鎖設置的參數:

innodb_lock_wait_timeout:InnoDB 事務在回滾之前可能會等待鎖定的超時時間(以秒為單位)。值 100000000 是無限超時。

lock_wait_timeout :在返回錯誤之前等待鎖定的超時時間(以秒為單位)。

我知道數據庫發現客戶端已斷開連接並最終會釋放鎖,但在什麼時間之後?那是哪個設定?

表鎖與創建鎖的會話相關聯並由其持有,並且將在該會話(即連接)結束時立即釋放。會話可以正常或意外終止,但無論如何都會釋放鎖。會話/客戶端當然也可以通過執行UNLOCK TABLES更快地釋放鎖。

我不確定是否有任何其他方法可以解鎖表,除了您當然可以通過wait_timeoutinteractive_timeout設置會話不活動的時間。這樣表也將被解鎖。

引用自:https://dba.stackexchange.com/questions/299215