根据mysql慢日志监控SQL语句执行效率
根据mysql慢日志监控SQL语句执行效率
启用MySQL的log-slow-queries(慢查询记录)。
在Linux环境下先要找到my.cnf文件(一般在/etc/mysql/),然后可能会发现该文件修改后无法保存,原因是你没有相应的权限,可以从属性中看到该文件的所有者是root,这时要先以root的身份打开它:
sudo nautilus /etc/mysql
接着再打开my.cnf文件然后找到[mysqld]标签在下面加上:
log-slow-queries=/path/slow.log –慢日志保存路径,该文件自己新建
long_query_time=2 –超过2秒的查询
log-queries-not-using-indexes –记录没有使用索引的查询
保存,关闭。然后如果重启MySQL的话会碰到这样的提示:world-writable config file ‘ etc my.cnf' is ignored
这时需要你再运行这个代码:
chmod 644 /etc/my.cnf –644表示rw-r–r–
然后再重启服务就OK了。
但是要注意的是:log-slow-queries=/path/slow.log为慢查询日志存放的地方,而这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录。
我是这么做的:先用root用户进到MySQL的数据存放目录(一般是/var/lib/mysql),新建一个slow.log文件(root用户能保证有权限新建,再运行chmod 644)。然后更改该文件的所有者和所在组:
chown mysql运行帐户的名字(可以看同文件夹中其他文件的所有者和组)+小数点+组名(方法同用户名) /path/slow.log
或者:
chown mysql运行帐户的名字(可以看同文件夹中其他文件的所有者和组) /path/slow.log
chgrp 组名(方法同用户名) /path/slow.log
这样才能保证MySQL能往slow.log中写日志。
相关推荐
-
mysql常用监控脚本命令整理
#/bin/sh #检测mysql server是否正常提供服务 mysqladmin -u sky -ppwd -h localhost ping #获取mysql当前的几个状态值 mysqladmin -u sky -ppwd -h localhost status #获取数据库当前的连接信息 mysqladmin -u sky -ppwd -h localhost processlist #获取当前数据库的连接数 mysql -u root -p123456 -BNe "select ho
-
安装配置Zabbix来监控MySQL的基本教程
Zabbix的简单安装配置说明 1.在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包: yum -y install mysql-devel libcurl-devel net-snmp-devel 2.添加用户: groupadd zabbix useradd zabbix -g zabbix 3.创建数据库,添加授权账号 create database zabbix character set utf8; grant all privileges on zabbix.*
-
MySQL实时监控工具orztop的使用介绍
前言 orztop是一款实时show full processlist的工具,我们可以实时看到数据库有哪些线程,执行哪些语句等.工具使用方便简单.解决了我们需要手动刷新show full processlist的痛苦. 该工具为朱旭开发的一款可以查看mysql数据库实时运行的sql状况的工具,以前苦于通过show processlist/show full processlist抓取sql的同志们现在只要盯一盯屏幕就可以了,使用方法也很简单,如下: orztop结果图 此处我正在对我的mysql
-
mytop 使用介绍 mysql实时监控工具
mytop类似于linux top工具,可以实时监控mysql服务器的性能信息. 安装方法 1.安装依赖 复制代码 代码如下: # cpan # cpan > install DBI # cpan > install Term::ReadKey # cpan > install DBD::mysql # cpan > exit 2.下载安装mytop 复制代码 代码如下: cd /tmp wget http://jeremy.zawodny.com/mysql/mytop/myto
-
可用于监控 mysql Master Slave 状态的python代码
复制代码 代码如下: import osimport sysimport MySQLdbdef getStatus(conn): query = " SHOW SLAVE STATUS " # print query cursor = conn.cursor() cursor.execute(query) result = cursor.fetchall() return result[0]def resolve(conn): cursor = co
-
Shell脚本实现监控MySQL主从同步
代码如下: 复制代码 代码如下: #!/bin/bash #check MySQL_Slave Status #crontab time 00:10 MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $4}'` MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "
-
MySQL数据库维护中监控所用到的常用命令
status = show status like '%%' [例:show status like 'Com_select']variables = show variables like '%%' [例:show variables like 'query_cache_size'] 1.MySQL查询次数(status)Com_select;Com_update;Com_insert;Com_delete;Com_change_db 2.查询缓存空间大小:query_cache_size(v
-
shell监控脚本实例—监控mysql主从复制
本节内容:监控mysql主从复制的shell脚本. 说明:监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试,需要的一些准备工作可以查看这篇文章 代码: 复制代码 代码如下: #监控mysql 主从复制cat chk_mysql_rep.sh #!/bin/bash # #script_name:chk_mysql_rep.sh #check mysql replication # #ssh root@xen "/usr/local/mysql/bin/mysql -uro
-
mysql性能监控工具Innotop简介及配置
1.innotop安装 参考官网:http://innotop.googlecode.com/svn/html/installing.html # wget http://innotop.googlecode.com/files/innotop-1.9.0.tar.gz # tar -zxvf innotop-1.9.0.tar.gz # cd innotop-1.9.0 安装INNOTOP工具非常简单,其是由PERL写的,当然需要PERL环境和相关的工具包.在安装之前先要确定你的系统安装了Ti
-
shell脚本监控mysql主从状态
此脚本首先判断mysql服务器是否运行,如果正常,继续判断主从,否则发邮件告警,只发一次.判断主从状态是判断IO和SQL线程是否都为yes,如果不是则发邮件通知,只发一次. 复制代码 代码如下: #!/bin/bash#define mysql variablemysql_user="root"mysql_pass="123456"email_addr="slave@jb51.net" mysql_status=`netstat -nl | aw
随机推荐
- Gird组件 Part-3:范例RSSFeed Viewer
- github版本库使用详细图文教程(命令行及图形界面版)
- JavaScript定时器setTimeout()和setInterval()详解
- 浅谈Spring的两种配置容器
- javascript 利用arguments实现可变长参数
- js实现的常用的左侧导航效果
- 封装好的一个万能检测表单的方法
- 关于WordPress的SEO优化相关的一些PHP页面脚本技巧
- PHP和javascript常用正则表达式及用法实例
- go语言实现的memcache协议服务的方法
- MySQL中join语句的基本使用教程及其字段对性能的影响
- 网站推广的几点规则和方法
- 用批处理实现Auto病毒专杀工具的代码
- CentOS 6.6实现永久修改DNS地址的方法
- JavaScript 仿歌词效果
- 基于javascript数组实现图片轮播
- 使用迭代器模式来进行Java的设计模式编程
- Java面向对象编程(封装/继承/多态)实例解析
- C#图像处理之头发检测的方法
- PHP中替换键名的简易方法示例详解