MySQL日志管理详解
1,错误日志:记录启动、运行或停止时出现的问题,一般也会记录警告信息。
2,一般查询日志:记录建立的客户端连接和执行的语句。
3,慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询,可以帮我们定位服务器性能问题。
1,错误日志
错误日志:记录启动、运行或停止时出现的问题,一般也会记录警告信息。
错误日志定义:
错误日志文件:log_error
启用警告信息:log_warnings (定义是否将警告信息也定义至错误日志中,默认开启)
show globle variables like '%log_error%' 查看错误日志存在的位置
set global log_warnings=0; 关闭启用警告
修改错误日志的位置
在启动MySQL时,指定log_error的值,如果关闭MySQL,然后重启MySQL,你会发现log_error的值又变成了原来路径。
也就是说这样设置只是对本次有效,如果需要永久修改,那么就必须在my.cnf中指定log_error参数的值。
#/etc/init.d/mysql start --log_error=/tmp/error.log(临时修改)
#在/etc/my.cnf配置文件中,添加了参数log_error=/u02/mysql/mysql.err,重新启动(永久)
2.一般查询日志
一般查询日志:记录建立的客户端连接和执行的语句信息。
set global general_log=ON 修改
启动开关:general_log={ON|OFF} (general_log=ON)
日志文件变量:general_log_file =/var/run/mysqld/mysqld.log (文件存放路径)
全局日志开关:log={ON|OFF} 该开关打开后,所有日志都会被启用
记录类型:log_output={TABLE|FILE|NONE} (log_output={TABLE|FILE})。
3、慢查询日志
查询超时时间:long_query_time (可设置时间)
启动慢查日志:log_slow_queries={YES|NO}
启动慢查日志 : slow_query_log
日志记录文件:slow_query_log_file [= file_name ]
MySQL如果启用了slow_query_log=ON选项,就会记录执行时间超过long_query_time的查询(初使表锁定的时间不算作执行时间)。
日志记录文件如果没有给出file_name值, 默认为主机名-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。