首页 > 数据库 >数据库死锁

数据库死锁

时间:2022-09-29 11:45:12浏览次数:53  
标签:information -- 数据库 死锁 线程 id schema

-- 当前运行的所有事务
SELECT * FROM information_schema.INNODB_TRX;

-- 当前出现的锁
SELECT * FROM information_schema.INNODB_LOCKs;

-- 锁等待的对应关系
SELECT * FROM information_schema.INNODB_LOCK_waits;

-- 每个MySql线程的用户,地址以及操作的db等其他信息。
SELECT * FROM information_schema.PROCESSLIST;

-- 线程的信息 包括执行的sql信息(SQL_TEXT)
select * from performance_schema.events_statements_current


##数据库死锁解决方案1 --查看造成死锁服务器日志##

-- 找到状态为RUNNING的记录 拿到线程id:trx_mysql_thread_id
SELECT * FROM information_schema.INNODB_TRX;

-- 查询information_schema.processlist表 找到执行事务的客户端请求的SQL线程 拿到host
select * from information_schema.PROCESSLIST WHERE ID = 'trx_mysql_thread_id';

-- 根据端口和ip 到服务器查看相关的应用和日志

# netstat -nlatp | grep 23452
# ps -eaf | grep 12059

 

##数据库死锁解决方案2 -- 查看造成死锁的SQL信息##

-- 找到状态为RUNNING的记录 拿到线程id:trx_mysql_thread_id
SELECT * FROM information_schema.INNODB_TRX;

-- 根据线程id获取所有线程信息
select * from performance_schema.threads where PROCESSLIST_ID = 'trx_mysql_thread_id'

-- 根据线程id 从当前事件语句中获取到具体的执行sql
select * from performance_schema.events_statements_curren where THREAD_ID in
(select THREAD_ID from performance_schema.threads where PROCESSLIST_ID='trx_mysql_thread_id')

 

标签:information,--,数据库,死锁,线程,id,schema
From: https://www.cnblogs.com/axibug/p/16740910.html

相关文章