問題:https://blog.csdn.net/qq_35503293/article/details/10415469
解決:https://blog.51cto.com/moerjinrong/2326085
mysql查看被鎖住的表
- 查詢是否鎖表
show OPEN TABLES where In_use > 0;
- 查看所有進程
MySQL:
show processlist;
mariabd:
show full processlist;
查詢到相對應的進程===然后 kill id
- 殺掉指定mysql連接的進程號
kill $pid
- 查看正在鎖的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
- 查看等待鎖的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
- 查看innodb引擎的運行時信息
show engine innodb status\G;
查看造成死鎖的sql語句,分析索引情況,然后優化sql語句;
- 查看服務器狀態
show status like '%lock%';
- 查看超時時間:
show variables like '%timeout%';