根据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 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
-
MySQL实时监控工具orztop的使用介绍
前言 orztop是一款实时show full processlist的工具,我们可以实时看到数据库有哪些线程,执行哪些语句等.工具使用方便简单.解决了我们需要手动刷新show full processlist的痛苦. 该工具为朱旭开发的一款可以查看mysql数据库实时运行的sql状况的工具,以前苦于通过show processlist/show full processlist抓取sql的同志们现在只要盯一盯屏幕就可以了,使用方法也很简单,如下: orztop结果图 此处我正在对我的mysql
-
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
-
安装配置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常用监控脚本命令整理
#/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
-
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
-
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
-
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性能监控工具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
随机推荐
- oracle中存储函数与存储过程的区别介绍
- 添加FCKeditor插件需要注意的地方
- Oracle10个分区和Mysql分区区别详解
- java实现二维数组转json的方法示例
- perl用{}修饰变量名的写法分享
- oracle11g管理员密码忘记怎么办 sqlplus解决忘记密码问题
- js实现每日自动换一张图片的方法
- Android开发之滑动图片轮播标题焦点
- js密码强度实时检测代码
- JavaScript 解析读取XML文档 实例代码
- jQuery ajax方法传递中文时出现中文乱码的解决方法
- javascript div 弹出可拖动窗口
- VBS教程:函数-Sgn 函数
- Win2003设置IP安全策略批处理脚本
- 详解Nginx中的geo模块与利用其配置负载均衡的示例
- dtree 网页树状菜单及传递对象集合到js内,动态生成节点
- javascript如何实现360度全景照片问题汇总
- Android startActivityForResult和setResult的区别
- 也谈截取首页新闻 - 范例
- 详解Android使用Gradle统一配置依赖管理