程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql error:Lock wait timeout exceeded解決

mysql error:Lock wait timeout exceeded解決

編輯:MySQL綜合教程

mysql error:Lock wait timeout exceeded   1、鎖等待超時。是當前事務在等待其它事務釋放鎖資源造成的。可以找出鎖資源競爭的表和語句,優化你的SQL,創建索引等,如果還是不行,可以適當減少並發線程數。    2、你的事務在等待給某個表加鎖時超時了,估計是表正被另的進程鎖住一直沒有釋放。   可以用 SHOW INNODB STATUS/G; 看一下鎖的情況。    3、搜索解決之道    在管理 節點的[ndbd default]  區加:  TransactionDeadLockDetectionTimeOut=10000(設置 為10秒)默認是1200(1.2秒)    4、InnoDB會自動的檢測死鎖進行回滾,或者終止死鎖的情況。   如果參數innodb_table_locks=1並且autocommit=0時,InnoDB會留意表的死鎖,和MySQL層面的行級鎖。另 外,InnoDB不會檢測MySQL的Lock Tables命令和其他存儲引擎死鎖。  你應該設置innodb_lock_wait_timeout來解決這種情況。  innodb_lock_wait_timeout是Innodb放棄行級鎖的超時時間。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved