MySQL的查询进程和关闭
我们会偶尔遇到数据库有进程等待或者执行,导致我们查询数据库总是等待,
所以我们需要查询mysql的进程来分析一下是什么原因导致的。
1)查询MySQL的任务进程
1)查询进程
show processlist
主要看这个字段,是否有waiting 的状态描述
2)杀死进程id,id就是上面图中的id的值
kill id;
3)查询是否锁表
show OPEN TABLES where In_use > 0;
2)查询MySQL的事务
1:当前执行的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
2:当前正在锁定的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
3:当前等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
3)进程使用情况
show global status like 'Thread%';
稍微解释一下:
4)查询缓存
show global status like 'qcache%';
5)查表锁情况
show global status like 'table_locks%';