本文目錄一覽:
MySQL鎖表和解鎖操作
1、確定mysql有鎖表的情況則使用以下命令查看鎖表進程
2、殺掉查詢結果中已經鎖表的trx_mysql_thread_id
擴展:
1、查看鎖的事務
2、查看等待鎖的事務
3、查詢是否鎖表:
4、查詢進程
MySQL數據庫中查詢表是否被鎖以及解鎖
1.查看錶被鎖狀態
2.查看造成死鎖的sql語句
3.查詢進程
4.解鎖(刪除進程)
5.查看正在鎖的事物 (8.0以下版本)
6.查看等待鎖的事物 (8.0以下版本)
如何查看MySQL數據庫的死鎖信息
查看MySQL數據庫的死鎖日誌
1. 使用終端或命令提示符登錄到MySQL,輸入命令:mysql -h xxxx.xxx.xxx -P 3306 -u username -p 解釋:xxxx.xxx.xxx是數據庫IP地址,username是數據庫用戶名,輸入命令後,會讓你輸入username對應的密碼,就可以登錄了
2. 如何查看MySQL數據庫的死鎖信息 在MySQL客戶端下輸入命令: show engine innodb status \G;
3. 如何定位MySQL數據庫的死鎖信息 在打印出來的信息中找到“LATEST DETECTED DEADLOCK”一節內容,看圖中紅線
4. 如何分析日誌,定位死鎖原因 看3裡面的圖,紫色劃線部分 分析: 事務1,等待 RECORD LOCKS space id 553 page no 376 n bits 368 index `index_user_id` of table `tbj`.`score_user`,這個位置的X鎖 事務2,持有 RECORD LOCKS space id 553 page no 376 n bits 368 index `index_user_id` of table `tbj`.`score_user`這個地方的S鎖 事務2,等待這個地方的X鎖 理論上這個事務2是可以提交的不會,死鎖,但是這個事務日誌只打印最後一部分死鎖,信息,這裡面隱含的條件是,事務1也持有 RECORD LOCKS space id 553 page no 376 n bits 368 index `index_user_id` of table `tbj`.`score_user`這個地方的S鎖,這樣,事務2不能加X鎖,同時事務1也不能加X鎖,產生死鎖。
原創文章,作者:K37XO,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128810.html