码迷,mamicode.com
首页 > 数据库 > 详细

MySQL日志体系

时间:2018-02-13 13:27:38      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:慢查询   执行   and   关闭   mit   二进制文件   index   查询   output   

日志对一个系统或者应用来说是非常的重要的,排错或解决故障,第一时间都是看错误日志

一、MySQL日志分类:日志文件记录了影响数据库的各种类型活动,MySQL数据库常见的日志文件分类。

错误日志(Error log) --如果日志不存在,flush logs会卡主,如果想备份错误日志,必须要重新新建一个,并赋予权限,在执行flush logs;

慢查询日志(Slow query log) -- 如果日志不存在,flush logs会提示日志文件不存在,也不会创建,,如果想备份慢查询日志,必须要重新新建一个,并赋予权限,在执行flush logs;

二进制日志(binary log) -- 生成一个新的二进制文件

查询日志 (general_log) -- 如果不存在,mysql会自动生成一个

注意:以上的日志,当执行flush logs时,mysql实例将关闭并重新打开日志文件

二、错误日志详解:MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL每次启动和关闭的详细信息。

【查看MySQL数据库错误日志存放的位置】

mysql> show variables like ‘log_error‘;

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

| Variable_name | Value |

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

| log_error | /var/log/mysqld.log |

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

1 row in set (0.01 sec)

my.cnf

log-error=/var/log/mysqld.log -- 或mysql实例中显示的有些不同

模拟错误日志:

三、慢查询日志

和慢查询日志有关的参数:

slow_query_log=on|off #是否开启慢查询日志

slow_query_log_file=filePathAndName; #指定慢查询日志文件的路径和文件名,默认在data目录

long_query_time=5 #指定多少秒没有返回结果的语句记录日志,即超过该时间就被认为是慢查询

log_queries_not_using_indexes #记录所有没有使用到索引的查询语句

min_examined_row_limit=1000 #记录由于查询了多于1000次而导致的慢查询

log_slow_admin_statements #记录慢的那些OPTIMIZE TABLE、ANALZE TABLE和ALTER TABLE语句。因为这些语句本身内部会执行查询,如alert table会先查询出来再进行修改。

log_slow_slave_statements #记录由slave所产生的慢查询

log_output=FILE|TABLE #如果选择table select * from mysql.slow_log;

设置参数:

set @@global.log_output=‘FILE‘;

set global log_output=‘TABLE‘;

select @@log_output;

select @@global.log_output;

show global variables like ‘log_output‘;

show variables like ‘log_output‘;

?

模拟慢查询日志: select sleep()

MySQL日志体系

标签:慢查询   执行   and   关闭   mit   二进制文件   index   查询   output   

原文地址:http://blog.51cto.com/395469372/2071494

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!