首页 > 代码库 > mysql日志文件相关的配置

mysql日志文件相关的配置

1、log_output=【file | table | none 】

  这个参数指定general_log &slow_query_log 的输出目标、可以是table | file | none 这向个值;

  如果取table 那么日志会输出到mysql.general_log 和mysql.slow_log表中去

 

2、general_log=【1 | 0】

  这个参数用来控制general_log是否开

 

3、general_log_file=【日志文件的全路径】

  在general_log=1 且 log_output=file 的情况下general log 要输出到的目标文件

 

4、sql_log_off=【on | off | 1 | 0】

  控制当前session是否记录general log

 

5、slow_query_log=【1 | 0】

  这个参数用来控制是否开启慢查询日志

 

6、slow_query_log_file=【日志文件的全路径】

  在log_output=file & slow_query_log=1 的情况下慢查询日志保存的目标文件

 

7、long_query_time=【秒】

  确定一条SQL是不是慢查询,那么就把这条SQL执行的时间与long_query_time的值进行比较、如果大于就算是慢查询。注意根据官方文档

  上的说明这个时间指的是开始执行到结束的这一段时间、在执行前可能还有一段时间用来等待锁了,这段等待时间不算的。

 

8、log_slow_admin_statements=【on | off】

  管理语句是否记录到慢查询当中去、我做了一下测试;发起的create user | drop table | alter table 都没有被记录,也就这个还要满足

  long_query_time的要求吧。

 

9、log_slow_slave_statements=【on | off 】

  这个参数用于控制slave端SQL线程执行的慢的查询是不是也加到slow log中去。

 

10、log_queries_not_using_indexes=【on | off】

  这个参数用于控制没有走索引的查询语句是否记录到slow log中去。

 

11、log_throttle_queries_not_using_indexes=【最多的次数】

  这个参数与log_queries_not_using_indexes这个参数有关、如果把log_queries_not_using_indexes设置为开启、只要SQL没有用到索引

  就会被记录到slow当中去、如果一分内有大量的没有用到索引的SQL被执行的话、那么它们都会被记录到slow里面去、然而有好多都是类似的、

  这样就引起slow没有必要的增大、我们读起来也麻烦;为了解决这个问题log_throttle_queries_not_using_indexes就运而生、它用于控制

  一分钟内记录到slow文件中去的满足log_queries_not_using_indexes条件的SQL数;默认是0也就是说没有限制。

 

mysql日志文件相关的配置