【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, 所有语句: 成功和未成功的.
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 * from mysql.general_log order by 1;      -- 所有语句:  成功和未成功的.


-- 关闭sql执行记录
set global log=OFF;
set global log_slow_queries=OFF;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值