查询日志
查询自然–general log,查询日志记录了数据库执行的命令,不管这些语法是否正确,都会被记录。由于数据库操作命令非常多而且比较频繁,所以开启了查询日志以后,数据库可能需要不停的写入查询,这样会增大服务器的IO压力,增加很多的系统开销,所以默认情况下,mysql的查询日志是没有开启的,但是开启查询日志也有助于我们分析那些语句执行密集,执行密集的select语句对应的数据是否能够被缓存,查询日志也可以帮助我们分析问题,所以,我们可以更具实际情况决定是否开启查询日志,如果需要可以手动开启。
mysql> show variables where variable_name like “%general_log%” or variable_name = “log_output”;
±-----------------±------------------------+
| Variable_name | Value |
±-----------------±------------------------+
| general_log | OFF |
| general_log_file | /data/mysqldata/jan.log |
| log_output | FILE |
±-----------------±------------------------+
3 rows in set (0.00 sec)
general_log:表示查询日志是否开启,ON表示开启,OFF表示未开启,默认未OFF
log_output:表示当查询日志开启以后,以哪种方式存放。FILE–文件,TABLE–表mysql.general_log中(慢查询存放于表mysql.slow_log),FILE,TABLE表示同时存放于文件和表中,NONE表示不记录日志。log_output不仅控制查询日志,还控制慢查询日志。
general_log_file:表示查询日志存放于文件的路径
慢查询日志
某些sql语句执行完毕所花费的时间特别长,我们将这种响应比较慢的语句记录在慢查询日志中,只要超过指定时间的sql语句,都称为“慢查询”,被记录在慢查询日志中。慢查询日志默认情况下是关闭的,默认设置下,超过10s的语句才会被记录到慢查询日志中。
复制代码
mysql> show variables where variable_name like ‘slow_query%’ or variable_name=‘long_query_time’ or variable_name=‘log_queries_not_using_indexes’;
±------------------------------±-----------------------------+
| Variable_name | Value |
±------------------------------±-----------------------------+
| log_queries_not_using_indexes | OFF |
| long_query_time | 10.000000 |
| slow_query_log | OFF |
| slow_query_log_file | /data/mysqldata/jan-slow.log |
±------------------------------±-----------------------------+
4 rows in set (0.00 sec)
复制代码
slow_query_log:表示查询日志是否开启,ON表示开启,OFF表示未开启,默认OFF
slow_query_log_file:表示查询日志存放于文件的路径
long_query_time:表示多长时间的查询被认为"慢查询",默认10s
log_queries_not_using_indexes:表示如果运行的sql语句没有使用到索引,也被记录到慢查询日志,OFF表示不记录,ON表示记录,默认OFF
二进制日志
二进制日志是一个二进制文件,记录了对MySQL数据库执行更改的所有操作,并且记录了语句发生时间、执行时长、操作数据等其他额外信息,但是他不记录SELECT、SHOW等那些不改变数据库的SQL语句。二进制日志主要用于数据库恢复和主从复制,以及审计操作。
mysql> show variables where variable_name=“log_bin” or variable_name=“log_bin_basename” or variable_name=“max_binlog_size” or
variable_name=“log_bin_index” or variable_name=“binlog_format” or variable_name=“sql_log_bin” or variable_name=“sync_binlog”;
±-----------------±-----------+
| Variable_name | Value |
±-----------------±-----------+
| binlog_format | ROW |
| log_bin | OFF |
| log_bin_basename | |
| log_bin_index | |
| max_binlog_size | 1073741824 |
| sql_log_bin | ON |
| sync_binlog | 1 |
±-----------------±-----------+
7 rows in set (0.00 sec)




