mysql 锁解决的办法

可以查看锁的信息,TRX_MYSQL_THREAD_ID 为processlist的表中的会话id,用于kill

select trx_id,trx_state,trx_started,trx_requested_lock_id,trx_wait_started,trx_weight,trx_mysql_thread_id,trx_query

from innodb_trx

可以查看锁的模式,类型,锁的表

select lock_id,lock_trx_id,lock_mode,lock_type,lock_table,lock_index from innodb_locks

可以查看到请求的事务ID,请求的锁id。阻塞事务id,阻塞锁id。

select requesting_trx_id,requested_lock_id,blocking_trx_id,blocking_lock_id from INNODB_LOCK_WAITS

查看当前的会话

select * from information_schema.processlist

根据INNODB_LOCK_WAITS的requesting_trx_id与blocking_trx_id的值在innodb_trx中查找对应的行信息

select trx_id,trx_state,trx_started,trx_requested_lock_id,trx_wait_started,trx_weight,trx_mysql_thread_id,trx_query

from innodb_trx

where trx_id in (requesting_trx_id,blocking_trx_id);

再根据innodb_trx表中的TRX_MYSQL_THREAD_ID 的值

查看为processlist的表中的会话id,用于kill。根据情况,决定kill掉哪条SQL语句。

相关推荐
.生产的驴3 小时前
SpringBoot 接口限流Lua脚本接合Redis 服务熔断 自定义注解 接口保护
java·大数据·数据库·spring boot·redis·后端·lua
施嘉伟3 小时前
Oracle 表空间高水位收缩全攻略
数据库·oracle
apcipot_rain3 小时前
【数据库原理及安全实验】实验二 数据库的语句操作
数据库·安全·oracle
Dav_20994 小时前
dav_1_MySQL数据库排查cpu消耗高的sql
数据库·sql·mysql
小诸葛的博客6 小时前
Go 语言中的select是做什么的
数据库·sql·golang
独泪了无痕7 小时前
数据库开发必备:理解DDL、DML、DQL和DCL
数据库·后端
Gauss松鼠会7 小时前
GaussDB Plan Hint调优实战:从执行计划控制到性能优化
数据库·sql·性能优化·database·gaussdb
zeijiershuai8 小时前
MySQL-SQL-DQL语句、DQL基本查询、DQL条件查询、DQL分组查询、聚合函数、DQL排序查询、DQL分页查询
数据库·sql·mysql
橙子家9 小时前
Redis 集群实现分布式缓存的示例操作流程【Redis 系列之五】
数据库
Jodie_Rao9 小时前
在 M1 芯片的 Mac 电脑上安装 Redis 可以通过 Homebrew 快速完成
数据库·redis·macos