mysql如何抓慢查询_【mysql】监控数据库和抓取慢查询的⼏
种⽅法汇总
监控mysql情况,并抓取慢查询
1、监控⽅法:
采⽤第三⽅⼯具spotlight、MONyog、HP sitescope(注:spotlight需在数据库中安装MDA表)
2、查看mysql的内置信息:
show processlist;
explain +sql
show variables; 查看MySQL服务器配置信息;
mysql的配置⽂件:my.ini
show variables like 'max_connections'; 查询最⼤连接数
show global status like 'qcache%'; 查询缓存(query cache)
show variables like 'query_cache%'; 关于query_cache的配置
show global status like 'max_used_connections';响应连接
show global status like 'Thread%'; 进程使⽤情况
3、设置和查询mysql慢查询:
登录以后运⾏SHOW PROCESSLIST,但是只能看到存在的⼀些SPID,没有详细的SQL语句。
之后就想着⼀个GUI的⼯具抓Trace,看到其实MySQL提供了⼀些Log是可以记录执⾏的SQL以及允许缓慢的SQL。命令如下:
-- 打开sql执⾏记录功能
set global log_output='TABLE'; -- 输出到表
set global log=ON; -- 打开所有命令执⾏记录功能general_log, 所有语句: 成功和未成功的.
mysql数据库的方法set global log_slow_queries=ON; -- 打开慢查询sql记录slow_log, 执⾏成功的: 慢查询语句和未使⽤索引的语句
set global long_query_time=0.1; -- 慢查询时间限制(秒)
set global log_queries_not_using_indexes=ON; -- 记录未使⽤索引的sql语句
-- 查询sql执⾏记录
select * from mysql.slow_log order by 1; -- 执⾏成功的:慢查询语句,和未使⽤索引的语句
select * al_log order by 1; -- 所有语句: 成功和未成功的.
-- 关闭sql执⾏记录 set global log=OFF; set global log_slow_queries=OFF;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论