mysql8 0檢視鎖資訊

2022-02-14 16:40:51 字數 2564 閱讀 1262

sys.`innodb_lock_waits`

performance_schema.events_statements_history

performance_schema.data_locks

performance_schema.data_locks_wait

performance_schema.data_locks

performance_schema.data_locks_wait

首先檢視系統鎖情況,下面這條語句可以看到持有鎖的執行緒以及執行緒id,這裡需要注意下,session_id也就是show processlist查詢出來的鏈結id,在這個表裡表現為pid,同時該錶也記錄了trx_id,最後還給出了解決方案也就是如何kill持有鎖的程序。

mysql

>

select

*from

sys.`innodb_lock_waits` \g

***************************

1. row ***************************

wait_started:

2019-01

-2814:27:03

wait_age:

00:00:03

wait_age_secs:

3locked_table: `test`.`t`

locked_table_schema: test

locked_table_name: t

locked_table_partition:

null

locked_table_subpartition:

null

locked_index: gen_clust_index

locked_type: record

waiting_trx_id:

19758723

waiting_trx_started:

2019-01

-2814:27:03

waiting_trx_age:

00:00:03

waiting_trx_rows_locked:

1waiting_trx_rows_modified:

0waiting_pid:

4202

waiting_query:

update t set id=

8waiting_lock_id:

19758723:4998:4:2

waiting_lock_mode: x

blocking_trx_id:

19748728

blocking_pid:

4200

blocking_query:

null

blocking_lock_id:

19748728:4998:4:2

blocking_lock_mode: x

blocking_trx_started:

2019-01

-2810:58:27

blocking_trx_age:

03:28:39

blocking_trx_rows_locked:

2blocking_trx_rows_modified:

1sql_kill_blocking_query:

kill query 4200

sql_kill_blocking_connection:

kill

4200

1 row in

set (0.02 sec

##等待鎖的語句

select

*from performance_schema.events_statements_history where thread_id in(

select b.`thread_id` from sys.`innodb_lock_waits` as a , performance_schema.threads asb

where a.waiting_pid =

b.`processlist_id`)

order

by timer_start asc;

可以通過如下方式

##持有鎖的語句

select

*from performance_schema.events_statements_history where thread_id in(

select b.`thread_id` from sys.`innodb_lock_waits` as a , performance_schema.threads asb

where a.`blocking_pid` =

b.`processlist_id`)

order

by timer_start asc;

大部分**:

mysql8 0提示命令 MySQL8 0操作命令

mysql8.0版本和mysql5.0的加密規則不一樣,而現在的很多任務具等都是不支援的,我們這裡使用的是將mysql使用者登入的加密規則修改為mysql native password的方法來進行解決的。修改加密規則alter user root localhost identified by p...

MySQL 鎖資訊檢視

檢視當前所有事務 select from information schema.innodb trx 檢視正在鎖的事務 select from information schema.innodb locks 檢視等待鎖的事務 select from information schema.innodb...

MySQL8 0登陸 檢視 修改臨時密碼

執行以下 mysql uroot執行結果如下 error 1045 28000 access denied for user root localhost using password no 錯誤的原因是秘密錯誤。初次啟動mysql時系統自動生成了臨時秘密,找到臨時密碼就可以正常登陸 cd var ...