189 8069 5689

mysql怎么加慢日志 mysql慢日志文件清理

Mysql 如何记录执行慢的语句日志

一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的伊州网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

1,slow_query_log

这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。

2,long_query_time

当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。

3,slow_query_log_file

记录日志的文件名。

4,log_queries_not_using_indexes

这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。

二、检测mysql中sql语句的效率的方法

1、通过查询日志

(1)、Windows下开启MySQL慢查询

MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上

代码如下

log-slow-queries = F:/MySQL/log/mysqlslowquery。log

long_query_time = 2

(2)、Linux下启用MySQL慢查询

MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上

代码如下

log-slow-queries=/data/mysqldata/slowquery。log

long_query_time=2

说明

log-slow-queries = F:/MySQL/log/mysqlslowquery。

为慢查询日志存放的位置,一般这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录;

long_query_time=2中的2表示查询超过两秒才记录;

2.show processlist 命令

SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。

如何动态开启mysql的慢查询日志记录

在日常开发当中,经常会遇到页面打开速度极慢的情况,通过排除,确定了,是数据库的影响,为了迅速查找具体的SQL,可以通过Mysql的日志记录方法。

-- 打开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;

-- long_query_time参数说明

-- v4.0, 4.1, 5.0, v5.1 到 5.1.20(包括):不支持毫秒级别的慢查询分析(支持精度为1-10秒);

-- 5.1.21及以后版本 :支持毫秒级别的慢查询分析, 如0.1;

-- 6.0 到 6.0.3: 不支持毫秒级别的慢查询分析(支持精度为1-10秒);

-- 6.0.4及以后:支持毫秒级别的慢查询分析;

通过日志中记录的Sql,迅速定位到具体的文件,优化sql看一下,是否速度提升了呢?

如何开启MySQL慢查询日志

1、开启慢查询

找到 MySQL 的配置文件 ,my.cnf (Windows 为 my.ini ),在 MySQL 下增加下面几行:

long_query_time=2

log-slow-queries= /usr/var/slowquery.log

上面的 2 是查询的时间,即当一条 SQL 执行时间超过2秒的时候才记录,/usr/var/slowquery.log 是日志记录的位置。

然后重新启动MySQL服务

2、 MySQL 配置文件的位置

Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:\Windows 下。

Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。


文章标题:mysql怎么加慢日志 mysql慢日志文件清理
分享链接:http://jkwzsj.com/article/hiihgd.html

其他资讯