mysql日志文件相关的配置【1】
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也就是说没有限制。