工作日常

mysql 问题排查常用方法

2018-11-08  本文已影响0人  厌恶狡诈心机

输出数据当前状态

--返回最近一次死锁场景,等等信息
SHOW ENGINE INNODB STATUS ;

可用于排查死锁问题,锁定行数等问题

查询数据库连接信息

select * from information_schema.PROCESSLIST

查询事务信息

--观察事务启动时间,判断是否为最近的创建的
select * from information_schema.INNODB_TRX;

查询数据库锁等待信息

--如果存在数据表示当前存在所等待情况
select * from information_schema.INNODB_LOCK_WAITS;

手动杀掉某个进程

--来源于select * from information_schema.INNODB_TRX;
kill trx_mysql_thread_id; 

数据库客户端连接ip统计

--用户判断客户端连接数问题
SELECT
  substr(host, 1, instr(host, ':') - 1),
  count(*)
FROM information_schema.processlist
WHERE command <> 'Binlog Dump'
GROUP BY substr(host, 1, instr(host, ':') - 1)
ORDER BY count(*) DESC;

查询数据库指定连接的当前执行sql

SELECT *
FROM performance_schema.events_statements_current
WHERE THREAD_ID IN (SELECT THREAD_ID
                    FROM performance_schema.threads
                    WHERE PROCESSLIST_ID = 1333192);

以上操作都需要取的相应的权限

上一篇下一篇

猜你喜欢

热点阅读