Ubuntu系统下Mytop工具无法显示执行的查询语句问题求助
Ubuntu系统Mytop无法显示查询语句解决方案
已知前提条件
- 已完成mytop工具安装
- 可正常连接目标数据库
- 自定义函数、phpMyAdmin执行的查询均无法在mytop中展示

排查&修复步骤
1. 调整mytop启动参数
默认mytop刷新间隔为1秒,且会过滤执行时长小于1秒的短查询,语句执行速度过快会无法被捕获,调整启动参数:
mytop -u <数据库用户名> -p <数据库密码> -d <目标数据库名> --delay 0.3 --noidle
参数说明:
--delay 0.3:将刷新间隔调整为0.3秒,提升短查询捕获概率--noidle:关闭空闲连接过滤,避免执行中的查询被误筛
2. 校验数据库账号权限
mytop需要账号拥有PROCESS全局权限才能读取所有用户的执行语句,登录MySQL执行授权:
grant process on *.* to '你的mytop登录账号'@'localhost'; flush privileges;
3. 调整MySQL查询日志配置
mytop依赖MySQL的进程列表或慢查询日志获取语句数据,调低慢查询阈值提升记录覆盖范围:
-- 开启慢查询日志 set global slow_query_log = 1; -- 将慢查询判定阈值调整为0.1秒 set global long_query_time = 0.1;
4. 升级mytop版本
1.9版本以下的mytop不支持捕获存储过程、自定义函数内部执行的子查询,执行命令升级到最新版本:
sudo apt update && sudo apt install --only-upgrade mytop
内容的提问来源于stack exchange,提问作者olti
相关产品推荐
相关产品推荐

