Loading

数据库锁表及解锁

查看PostgreSQL锁表信息

一、查询PG_STAT_ACTIVITY的信息
SELECT * FROM pg_stat_activity where datname='bms' and wait_event_type='Lock'
二、通过pid解锁死锁信息
select pg_cancel_backend("死锁那条数据的pid值")


查看mysql锁表信息

一:检查是否锁表, 查询进程并杀死进程

1) 查询是否锁表

show open tables where in_use > 0;

2) 查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)

show processlist;
show full processlist;

3) 杀死进程(id列)

kill id

二:查看在锁事务,杀死事务对应的线程ID

1) 查看正在锁的事务

select * from information_schema.INNODB_LOCKS;

2) 杀死进程id(trx_mysql_thread_id列)

kill ID

3) 查看等待锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

其它:

  1. 查看服务器状态
    show status like '%lock%';
  2. 查看超时时间:
    show variables like '%timeout%';

显示哪些线程正在运行

SHOW PROCESSLIST;
mysql -uroot -e 'Show processlist'
mysqladmin processlist

posted @ 2022-05-17 11:03  yisk  阅读(957)  评论(0编辑  收藏  举报