mysql日志
1.四种日志(错误日志,二进制日志,查询日志,慢查询日志)
-
错误日志
记录mysql启动和停止时,以及在运行过程中发生任何严重错误时的相关信息。
show variables like 'log_error%'; 找到错误日志文件路径 -
二进制日志(默认没有开启)
二进制日志(binlog)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着及其重要的作用,mysql的主从复制,也是通过binlog和relaylog实现的。
配置文件位置:/usr/my.cnf
日志文件存放位置:配置时,给定了文件名但是没有指定路径,日志默认写入mysql的数据目录。
#配置开启binlog日志,日志文件前缀为mysqlbin --->如:mysqlbin.000001,mysqlbin.000002
log_bin=mysqlbin
?
#配置二进制日志格式
binlo_format=statement删除日志文件
方法1:
reset master
?
方法2:删除mysqlbin.000003之前的所有日志文件 mysqlbin.000001 mysqlbin.000002
purge master logs to 'mysqlbin.000003'
?
方法3:删除yyyy-mm-dd hh24:mi:ss之前产生的所有日志
purge master logs before 'yyyy-mm-dd hh24:mi:ss'
?
方法4:设置日志过期天数 3天后过期
--expire_logs_days=3 -
查询日志
记录了所有操作语句(默认不开启)
#设置开启查询日志 0关闭 1开启
general_log=1
?
#设置日志文件名,默认host_name.log
general_log_file=file_name -
慢查询日志(记录查询效率低的日志)
记录查询时间超过参数long_query_time,并且扫描记录数不小于min_examined_row_limit的SQL语句。
long_query_time默认10秒
#默认时关闭的 0关闭 1开启
slow_query_log=1
?
#该参数用来指定慢查询日志的文件名
slow_query_log_file=slow_query.log
?
#配置查询的时间限制,超过这个时间将被认为是慢查询
long_query_time=10