修改数据库配置文件

方式一:

etc下修改my.cnf数据库配置文件 ,[mysqld] 节点下面加入如下配置

log_slow_queries = NO
log-slow-queries = /var/run/mysqld/slow_querys.log
long_query_time =
1 (表示超过一秒就算慢查询)
log-queries-not-using-indexes
log-slow-admin-statements

重启MySql服务


一、启动方式

1
、使用 service 启动:service mysqld start

2
、使用 mysqld 脚本启动:/etc/inint.d/mysqld start

3
、使用 safe_mysqld 启动:safe_mysqld&

二、停止

1
、使用 service 启动:service mysqld stop

2
、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

3
mysqladmin shutdown

三、重启

1
使用 service 启动:service mysqld restart

2
、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

方式二: (先链接 mysql -u admin-p password)

方法二:通过修改myssql的全局变量来处理,这样做的好处是,不用重启mysql服务器,登陆到mysql上执行一下sql脚本即可

set global slow_query_log=ON;

set global long_query_time=3;

然后通过一下命令查看是否成功

mysql> show variableslike'long%';

+-----------------+-----------+

| Variable_name | Value |

+-----------------+-----------+

| long_query_time | 10.000000 |

+-----------------+-----------+

1 rowinset(0.00 sec)

mysql> show variableslike'slow%';

+---------------------+---------------+

| Variable_name | Value |

+---------------------+---------------+

| slow_launch_time | 2 |

| slow_query_log |ON |

| slow_query_log_file | /tmp/slow.log |

+---------------------+---------------+

3rowsinset(0.00 sec)

通过如下命令查看配置是否修改成功

show variables like '%slow%';

执行select sleep(3);

打开改文件查看是否记录select sleep(3); 的日志

语法:

show variables like'xxxx'; 固定写法

Like 后面加上想查询的字段

查看日志是否开启

show variables like 'log_slow_queries';

show variables like ‘slow_query_log_file’;

set @@global.slow_query_log = ON;

结果:

参考链接 http://www.linuxidc.com/Linux/2013-07/87457.htm

日志分析工具

mysql自带了一个查看慢日志的工具mysqldumpslow

执行mysqldumpslow --h可以查看帮助信息。

主要介绍两个参数-s和-t

-s 这个是排序参数,可选的有:

al: 平均锁定时间

ar: 平均返回记录数

at: 平均查询时间

c: 计数

l: 锁定时间

r: 返回记录

t: 查询时间

-t n 显示头n条记录。

实例:

mysqldumpslow -s c -t 20 host-slow.log

mysqldumpslow -s r -t 20 host-slow.log

上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。

mysqldumpslow -t 10 -s t -g “left join” host-slow.log

这个是按照时间返回前10条里面含有左连接的sql语句。

参考链接 http://www.2cto.com/database/201306/222769.html

更多相关文章

  1. shell脚本中mysqldump的基本使用
  2. 使用Powershell对MySQL运行SQL脚本
  3. 在H2数据库中插入时间——函数“PARSEDATETIME”未找到
  4. 如何知道php脚本中的名称是指mysql表还是mysql视图
  5. 是一个mysql临时表,每个用户访问创建它的脚本是唯一的...?
  6. mysql启动脚本——指定数据目录并指定配置文件
  7. MySQL在保存数据时添加时间戳
  8. mysql查询一条工单时间需要10秒。优化sql语句得以解决。
  9. Spring Security ACL使用MySQL配置与数据库脚本

随机推荐

  1. android矢量图vector的简单介绍
  2. Android实现动态改变屏幕方向(Landscape &
  3. Android Studio系列教程三--快捷键
  4. Android之音量调节
  5. Android应用程序——四大组件之Activity
  6. 前端和Android / IOS 对接问题
  7. Android坐标系、视图坐标系与触控事件(Mot
  8. Android技术栈
  9. [Android] [Java] 分享 Process 执行命令
  10. Android 连接tomcat模拟登陆账号