婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL死鎖檢查處理的正常方法

MySQL死鎖檢查處理的正常方法

熱門標簽:南通自動外呼系統軟件 廣東人工電話機器人 石家莊電商外呼系統 芒果電話機器人自動化 申請外呼電話線路 日照旅游地圖標注 信陽穩定外呼系統運營商 湖南人工外呼系統多少錢 百度地圖圖標標注中心

正常情況下,死鎖發生時,權重最小的連接將被kill并回滾。但是為了找出語句來優化,啟用可啟用死鎖將死鎖信息記錄下來。

#step 1:窗口一
mysql> start transaction;
mysql> update aa set name='aaa' where id = 1;
 
#step 2:窗口二
mysql> start transaction;
mysql> update bb set name='bbb' where id = 1;
 
#step 3:窗口一
mysql> update bb set name='bbb';
#step 4:窗口三
#是否自動提交
mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
 
#查看當前連接
mysql> show processlist;
mysql> show full processlist;
mysql> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host  | db | Command | Time | State | Info    |
+----+------+-----------+------+---------+------+-------+------------------+
| 4 | root | localhost | test | Sleep | 244 |  | NULL    |
| 5 | root | localhost | test | Sleep | 111 |  | NULL    |
| 6 | root | localhost | NULL | Query | 0 | init | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
 
 
#查看當前正在被鎖的事務(鎖請求超時后則查不到)
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
+------------------+-------------+-----------+-----------+-------------+-----------------+------------+-----------+----------+----------------+
| lock_id   | lock_trx_id | lock_mode | lock_type | lock_table | lock_index  | lock_space | lock_page | lock_rec | lock_data  |
+------------------+-------------+-----------+-----------+-------------+-----------------+------------+-----------+----------+----------------+
| 130718495:65:3:4 | 130718495 | X   | RECORD | `test`.`bb` | GEN_CLUST_INDEX |   65 |   3 |  4 | 0x000000000300 |
| 130718496:65:3:4 | 130718496 | X   | RECORD | `test`.`bb` | GEN_CLUST_INDEX |   65 |   3 |  4 | 0x000000000300 |
+------------------+-------------+-----------+-----------+-------------+-----------------+------------+-----------+----------+----------------+
 
#查看當前等待鎖的事務(鎖請求超時后則查不到)
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 
+-------------------+-------------------+-----------------+------------------+
| requesting_trx_id | requested_lock_id | blocking_trx_id | blocking_lock_id |
+-------------------+-------------------+-----------------+------------------+
| 130718499   | 130718499:65:3:4 | 130718500  | 130718500:65:3:4 |
+-------------------+-------------------+-----------------+------------------+
 
 
#查看當前未提交的事務(如果死鎖等待超時,事務可能還沒有關閉)
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
+--------------------------------------------------------------------------------------------------------+
| trx_id | trx_state | trx_started   | trx_requested_lock_id | trx_wait_started | trx_weight |
+-----------+-----------+---------------------+-----------------------+---------------------+------------+
| 130718500 | RUNNING | 2018-03-12 09:28:10 | NULL     | NULL    |   3 |
| 130718499 | LOCK WAIT | 2018-03-12 09:27:59 | 130718499:65:3:4  | 2018-03-12 09:32:48 |   5 |
==========================================================================================================
| trx_mysql_thread_id | trx_query        | trx_operation_state | trx_tables_in_use |
+---------------------+---------------------------------------+---------------------+-------------------+
|     4 | NULL         | NULL    |     0 |
|     5 | update bb set name='bbb'    | starting index read |     1 |
=========================================================================================================
| trx_tables_locked | trx_lock_structs | trx_lock_memory_bytes | trx_rows_locked | trx_rows_modified |
+-------------------+------------------+-----------------------+-----------------+-------------------+
|     0 |    2 |     360 |    3 |     1 |
|     1 |    4 |     1184 |    4 |     1 |
===========================================================================================================================
| trx_concurrency_tickets | trx_isolation_level | trx_unique_checks | trx_foreign_key_checks | trx_last_foreign_key_error |
+-------------------------+---------------------+-------------------+------------------------+----------------------------+
|      0 | REPEATABLE READ  |     1 |      1 | NULL      |
|      0 | REPEATABLE READ  |     1 |      1 | NULL      |
===========================================================================================================================
| trx_adaptive_hash_latched | trx_adaptive_hash_timeout | trx_is_read_only | trx_autocommit_non_locking |
+---------------------------+---------------------------+------------------+----------------------------+
|       0 |      10000 |    0 |       0 |
|       0 |      10000 |    0 |       0 |
+---------------------------+---------------------------+------------------+----------------------------+
 
 
#查看正在被訪問的表
mysql> show OPEN TABLES where In_use > 0;
+----------+-------+--------+-------------+
| Database | Table | In_use | Name_locked |
+----------+-------+--------+-------------+
| test  | bb |  1 |   0 |
+----------+-------+--------+-------------+
#step 3:窗口一 (若第三步中鎖請求太久,則出現鎖超時而終止執行)
mysql> update bb set name='bbb';
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
 
 
#"窗口一" 鎖請求超時前,執行第五步,使死鎖產生,則該連接 "窗口二" 執行終止,"窗口一" 順利執行
#step 5:窗口二
mysql> update aa set name='aa';
ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction

查看最近一個死鎖情況

#查看最近一個死鎖情況
mysql> SHOW ENGINE INNODB STATUS\G ;
...............
------------------------
LATEST DETECTED DEADLOCK
------------------------
2018-03-12 11:01:06 7ffb4993a700 #發生時間
*** (1) TRANSACTION: #事務1
TRANSACTION 130718515, ACTIVE 19 sec starting index read
mysql tables in use 1, locked 1 #正被訪問的表
LOCK WAIT 4 lock struct(s), heap size 1184, 4 row lock(s), undo log entries 1 #影響行數
MySQL thread id 5, OS thread handle 0x7ffb498f8700, query id 205 localhost root updating #線程/連接host/用戶
update bb set name='bb' #請求語句
*** (1) WAITING FOR THIS LOCK TO BE GRANTED: #等待以下資源 (鎖定位置及鎖模式)
RECORD LOCKS space id 65 page no 3 n bits 72 index `GEN_CLUST_INDEX` of table `test`.`bb` trx id 130718515 lock_mode X waiting
Record lock, heap no 5 PHYSICAL RECORD: n_fields 5; compact format; info bits 0
 0: len 6; hex 000000000300; asc  ;;
 1: len 6; hex 000007ca9b34; asc  4;;
 2: len 7; hex 1f000002092075; asc  u;;
 3: len 4; hex 80000001; asc  ;;
 4: len 2; hex 6262; asc bb;;
 
*** (2) TRANSACTION: #事務2
TRANSACTION 130718516, ACTIVE 14 sec starting index read
mysql tables in use 1, locked 1
4 lock struct(s), heap size 1184, 4 row lock(s), undo log entries 1
MySQL thread id 4, OS thread handle 0x7ffb4993a700, query id 206 localhost root updating
update aa set name='aa' #請求語句
*** (2) HOLDS THE LOCK(S): #持有鎖資源
RECORD LOCKS space id 65 page no 3 n bits 72 index `GEN_CLUST_INDEX` of table `test`.`bb` trx id 130718516 lock_mode X
Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0
 0: len 8; hex 73757072656d756d; asc supremum;;
 
Record lock, heap no 3 PHYSICAL RECORD: n_fields 5; compact format; info bits 0
 0: len 6; hex 000000000301; asc  ;;
 1: len 6; hex 000007ca9b17; asc  ;;
 2: len 7; hex 9000000144011e; asc  D ;;
 3: len 4; hex 80000002; asc  ;;
 4: len 2; hex 6262; asc bb;;
 
Record lock, heap no 5 PHYSICAL RECORD: n_fields 5; compact format; info bits 0
 0: len 6; hex 000000000300; asc  ;;
 1: len 6; hex 000007ca9b34; asc  4;;
 2: len 7; hex 1f000002092075; asc  u;;
 3: len 4; hex 80000001; asc  ;;
 4: len 2; hex 6262; asc bb;;
 
*** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 64 page no 3 n bits 80 index `GEN_CLUST_INDEX` of table `test`.`aa` trx id 130718516 lock_mode X waiting
Record lock, heap no 7 PHYSICAL RECORD: n_fields 5; compact format; info bits 0
 0: len 6; hex 000000000200; asc  ;;
 1: len 6; hex 000007ca9b33; asc  3;;
 2: len 7; hex 1e000001d53057; asc  0W;;
 3: len 4; hex 80000001; asc  ;;
 4: len 2; hex 6161; asc aa;;
 
*** WE ROLL BACK TRANSACTION (2)
...............
#死鎖記錄只記錄最近一個死鎖信息,若要將每個死鎖信息都保存到錯誤日志,啟用以下參數:
mysql> show variables like 'innodb_print_all_deadlocks';
+----------------------------+-------+
| Variable_name    | Value |
+----------------------------+-------+
| innodb_print_all_deadlocks | OFF |
+----------------------------+-------+
 
 
#上面 【step 3:窗口一】若一直請求不到資源,默認50秒則出現鎖等待超時。
mysql> show variables like 'innodb_lock_wait_timeout'; 
+--------------------------+-------+
| Variable_name   | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 50 |
+--------------------------+-------+
 
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
 
 
#設置全局變量 鎖等待超時為60秒(新的連接生效)
#mysql> set session innodb_lock_wait_timeout=50; 
mysql> set global innodb_lock_wait_timeout=60; 
 
 
#上面測試中,當事務中的某個語句超時只回滾該語句,事務的完整性屬于被破壞了。為了回滾這個事務,啟用以下參數:
mysql> show variables like 'innodb_rollback_on_timeout';
+----------------------------+-------+
| Variable_name    | Value |
+----------------------------+-------+
| innodb_rollback_on_timeout | OFF |
+----------------------------+-------+

最終參數設置如下:(重啟服務重新連接測試)

[mysqld]
log-error =/var/log/mysqld3306.log
innodb_lock_wait_timeout=60  #鎖請求超時時間(秒)
innodb_rollback_on_timeout = 1 #事務中某個語句鎖請求超時將回滾真個事務
innodb_print_all_deadlocks = 1 #死鎖都保存到錯誤日志
#若手動刪除堵塞會話,刪除 Command='Sleep' 、無State、無Info、trx_weight 權重最小的。
show processlist;
SELECT trx_mysql_thread_id,trx_state,trx_started,trx_weight FROM INFORMATION_SCHEMA.INNODB_TRX;

總結

到此這篇關于MySQL死鎖檢查處理的文章就介紹到這了,更多相關MySQL死鎖檢查處理內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Mysql查看死鎖與解除死鎖的深入講解
  • MySQL死鎖的產生原因以及解決方案
  • 關于MySQL死鎖問題的深入分析
  • MySQL死鎖套路之唯一索引下批量插入順序不一致
  • 一個mysql死鎖場景實例分析
  • 一次神奇的MySQL死鎖排查記錄
  • MySQL數據庫之Purge死鎖問題解析
  • 詳解通過SQL進行分布式死鎖的檢測與消除

標簽:公主嶺 天津 合肥 阿里 惠州 沈陽 牡丹江 呼和浩特

巨人網絡通訊聲明:本文標題《MySQL死鎖檢查處理的正常方法》,本文關鍵詞  MySQL,死鎖,檢查,處理,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL死鎖檢查處理的正常方法》相關的同類信息!
  • 本頁收集關于MySQL死鎖檢查處理的正常方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美日韩综合不卡| 91亚洲国产成人精品一区二区三| 亚洲国产精品久久人人爱| 成人免费av资源| 国产午夜精品福利| 国产精华液一区二区三区| 国产亚洲午夜高清国产拍精品| 激情综合亚洲精品| 久久久久国色av免费看影院| 国产精品中文欧美| 国产精品第四页| 色香蕉成人二区免费| 亚洲高清免费一级二级三级| 91精品一区二区三区久久久久久| 麻豆国产一区二区| 久久久久99精品国产片| 成人h动漫精品一区二区| 亚洲色图视频网| 欧美日韩一区二区在线观看| 狠狠色丁香婷综合久久| 亚洲桃色在线一区| 欧美一卡二卡三卡| 91在线免费视频观看| 亚洲国产精品人人做人人爽| 日韩精品一区二| 成人av小说网| 天天av天天翘天天综合网色鬼国产| 欧美午夜片在线观看| 国产精品中文欧美| 亚洲人成网站精品片在线观看| 欧美一区二区视频观看视频| 成人免费福利片| 麻豆精品国产91久久久久久| 一区二区三区在线视频观看| 精品国产一区a| 欧美日韩亚洲综合一区二区三区| 国产99精品视频| 秋霞影院一区二区| 亚洲综合成人在线视频| 日韩欧美国产三级电影视频| 在线看不卡av| 成人av综合一区| 久久国产精品免费| 亚洲不卡av一区二区三区| 国产精品麻豆久久久| 欧美精品一区二区三区高清aⅴ| 欧亚一区二区三区| 91在线视频播放| 丁香婷婷综合网| 全国精品久久少妇| 亚洲成人自拍网| 亚洲愉拍自拍另类高清精品| 日本不卡视频在线观看| 亚洲图片激情小说| 欧美韩国日本综合| 国产拍欧美日韩视频二区| 日韩小视频在线观看专区| 色天天综合色天天久久| 福利91精品一区二区三区| 韩国成人在线视频| 韩国av一区二区三区四区| 麻豆精品一区二区av白丝在线| 香蕉影视欧美成人| 午夜久久久久久久久| 婷婷中文字幕一区三区| 亚洲成人av一区二区三区| 亚洲综合久久久| 亚洲精品欧美激情| 成人精品国产福利| 亚洲国产精品久久人人爱 | 一本一道波多野结衣一区二区| 99久久久无码国产精品| 一区二区成人在线| 日韩区在线观看| 99精品热视频| 蜜桃精品在线观看| 国产蜜臀av在线一区二区三区| 精品污污网站免费看| 福利视频网站一区二区三区| 夜夜嗨av一区二区三区网页| 91精品婷婷国产综合久久性色| 成人黄色小视频在线观看| 亚洲自拍偷拍麻豆| 久久久久久麻豆| 日本久久电影网| 免费看日韩a级影片| 日韩美女啊v在线免费观看| 日韩一区二区高清| 色综合咪咪久久| 福利一区二区在线| 久久久一区二区三区捆绑**| 欧美精品久久天天躁| 亚洲chinese男男1069| 国产精品丝袜久久久久久app| 亚洲午夜激情av| 一区二区在线看| 国产精品久久久久三级| 国产不卡高清在线观看视频| 丝袜美腿亚洲一区二区图片| 婷婷国产在线综合| 欧美成人精品高清在线播放| 天堂久久一区二区三区| 成人欧美一区二区三区在线播放| 99久久久国产精品免费蜜臀| 国产欧美日本一区视频| 久久先锋影音av鲁色资源网| 日韩免费性生活视频播放| 欧美精品免费视频| 日韩影视精彩在线| 日韩精品午夜视频| 亚洲国产欧美日韩另类综合| 亚洲欧美自拍偷拍| 国产91精品一区二区麻豆网站| 国产情人综合久久777777| 国产视频视频一区| 99热在这里有精品免费| 97成人超碰视| 在线观看av一区| 蜜桃在线一区二区三区| 蜜桃av一区二区三区| 视频精品一区二区| 日韩欧美亚洲一区二区| 亚洲精品一区二区三区蜜桃下载| 6080日韩午夜伦伦午夜伦| 欧美电视剧在线观看完整版| 在线观看一区日韩| 欧美日韩一级二级三级| 免播放器亚洲一区| 国产伦精品一区二区三区免费迷 | 欧美一区二区三区白人| 欧美色大人视频| 极品少妇一区二区三区精品视频 | 国产精品亚洲午夜一区二区三区| 国内精品在线播放| 三级成人在线视频| 国产一区久久久| 一区二区三区不卡视频| 日韩一区二区三区在线视频| 国产无遮挡一区二区三区毛片日本| 国产精品美女久久久久久久网站| 欧美三级韩国三级日本一级| 欧美电影免费观看完整版| 中文字幕一区二区三中文字幕| 欧美日韩国产一级片| 337p粉嫩大胆噜噜噜噜噜91av| 高清不卡一区二区在线| 91久久久免费一区二区| 国产午夜亚洲精品午夜鲁丝片| 成人免费va视频| 欧美成人一区二区三区| 久久久久久免费网| 色综合一区二区三区| 日韩一区二区免费视频| 椎名由奈av一区二区三区| 免费成人av在线| 91久久线看在观草草青青| 极品少妇xxxx精品少妇偷拍| 国产成人在线影院| 欧美精品v国产精品v日韩精品| 久久先锋资源网| 婷婷综合久久一区二区三区| 午夜精品视频一区| 精品国产乱码久久久久久图片 | 国产精品综合久久| eeuss鲁片一区二区三区| 樱花草国产18久久久久| 91麻豆精品国产91久久久久| 欧美一区二区三区影视| 国产色91在线| 亚洲精品中文字幕乱码三区| 久久99精品久久久久婷婷| 亚洲黄色尤物视频| 精品亚洲成a人在线观看| 日韩毛片高清在线播放| 日韩欧美123| 91麻豆高清视频| 久久成人久久鬼色| 亚洲第一搞黄网站| 国产成人av一区| 91精品国产乱| 欧美午夜不卡在线观看免费| 日韩毛片在线免费观看| 久久精品夜色噜噜亚洲a∨| 看片网站欧美日韩| 在线观看www91| 99久久精品国产观看| 精品国产人成亚洲区| 91久久精品午夜一区二区| 国产亚洲一区二区在线观看| 三级一区在线视频先锋| 亚洲一区视频在线| 国产精品嫩草影院com| 日韩一区二区精品在线观看| 国产精品一区二区久久精品爱涩| 亚洲精品v日韩精品| 久久精品夜色噜噜亚洲aⅴ| 欧美一级二级三级乱码| 欧美日韩高清影院| 欧美性一区二区| 在线观看国产精品网站|