MySQL日志管理
MySQL日志类型
a 错误日志(Error Log)
日志文件名称:用--log-error[=file_name]选项来指定mysql保存错误日志文件的位置,如果没有指定file_name,mysql使用默认的错误日志名host_name.err;
日志文件路径:默认情况下,日志文件都保存在mysql的数据目录中。如果执行FLUSH LOGS,错误日志用-old重新命名后缀,并且mysql创建一个新的空日志文件。(如果未给出-log-error选项,则不会重新命名)。
日志其他说明:如果不指定--log-error,或者(Windows)使用--console选项,错误被写入标准错误输出stderr。通常标准输出为终端。
b 查询日志(Query Log)
日志文件名称:(老版本方法)用--log=[file_name]或-l[file_name]选项进行启用。如果未指定file_name,默认名称为host_name.log
在/etc/my.cnf中[mysqld]下面添加log=/var/lib/mysql/Dragonwake.log重启后
#servicemysql restart
查看错误日志:
正确的配置方法,在/etc/my.cnf中[mysqld]下面添加下如内容
# 查询日志
general_log=ON
general_log_file=/var/lib/mysql/Dragonwake.log
重启mysql后
生成的查询日志文件Dragonwake.log
查询日志内容:
#tail -f /var/lib/mysql/Dragonwake.log
c 慢查询日志(Slow Query Log)
日志配置:用--log-slow-queries[=file_name]选项启动时,mysql写一个包含了所有执行超过了long_query_time秒的SQL语句的日志。如果未指定file_name,默认为host_name-slow.err。如果给出了文件名,但不是绝对路径,文件则写入默认的数据目录。
在/etc/my.cnf的[mysqld]下面添加
# 执行超过1秒的sql会被log下来
long_query_time=1
# 将查询执行时间较慢的语句进行记录
log-slow-queries=/var/lib/mysql/Dragonwake-slow.log
重启mysql服务后,出现如下错误,
正确日志配置:mysql5.6版本以上,取消了参数log-slow-queries,更改为slow-query-log-file,同时必须设置slow_query_log=on
# 慢查询日志
# 执行超过1秒的sql会被log下来
long_query_time=1
# 开启慢查询
slow_query_log=on
# 慢查询日志路径
slow-query-log-file=/var/lib/mysql/Dragonwake-slow.log
重启MySQL后
输出慢查询日志Dragonwake-slow.log
慢查询日志内容
d 更新日志(Update Log)
日志配置:用--log-update[=file_name]选项(不建议使用)
在/etc/my.cnf中[mysqld]下面添加,
# 更新查询
log-update=/var/lib/mysql/Dragonwake-update.log
出现如下错误:
暂未找到解决办法
e 二进制日志(Binary Log & Binary Log Index)
日志设置:用--log-bin[=file_name]选项
在/etc/my.cnf中[mysqld]下面添加,
# 二进制查询
log-bin=/var/lib/mysql/Dragonwake-bin.log
重启MySQL后
输出二进制日志
查看二进制日志内容
#tail -f /var/lib/mysql/Dragonwake-bin.000001
f)mysql日志查询
mysql> show variables like'log_%';
h)mysql当前日志
mysql> show master status;
i)mysql二进制日志数目
mysql> show master logs;