【MySQL】----MySQL日志管理

时间:2022-09-22 08:10:02

MySQL日志管理

 

MySQL日志类型

a 错误日志(Error Log

日志文件名称:用--log-error[=file_name]选项来指定mysql保存错误日志文件的位置,如果没有指定file_name,mysql使用默认的错误日志名host_name.err

【MySQL】----MySQL日志管理

日志文件路径:默认情况下,日志文件都保存在mysql的数据目录中。如果执行FLUSH LOGS,错误日志用-old重新命名后缀,并且mysql创建一个新的空日志文件。(如果未给出-log-error选项,则不会重新命名)。

【MySQL】----MySQL日志管理

日志其他说明:如果不指定--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

【MySQL】----MySQL日志管理

查看错误日志:

【MySQL】----MySQL日志管理

正确的配置方法,在/etc/my.cnf[mysqld]下面添加下如内容

# 查询日志

general_log=ON

general_log_file=/var/lib/mysql/Dragonwake.log

重启mysql

【MySQL】----MySQL日志管理

生成的查询日志文件Dragonwake.log

【MySQL】----MySQL日志管理

查询日志内容:

#tail -f /var/lib/mysql/Dragonwake.log

【MySQL】----MySQL日志管理

 

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服务后,出现如下错误,

【MySQL】----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

【MySQL】----MySQL日志管理

输出慢查询日志Dragonwake-slow.log

【MySQL】----MySQL日志管理

慢查询日志内容

【MySQL】----MySQL日志管理


d 更新日志(Update Log

日志配置:用--log-update[=file_name]选项(不建议使用)

/etc/my.cnf[mysqld]下面添加,

# 更新查询

log-update=/var/lib/mysql/Dragonwake-update.log

出现如下错误:

【MySQL】----MySQL日志管理

暂未找到解决办法

e 二进制日志(Binary Log & Binary Log Index

日志设置:用--log-bin[=file_name]选项

/etc/my.cnf[mysqld]下面添加,

# 二进制查询

log-bin=/var/lib/mysql/Dragonwake-bin.log

重启MySQL

【MySQL】----MySQL日志管理

输出二进制日志

【MySQL】----MySQL日志管理

查看二进制日志内容

#tail -f /var/lib/mysql/Dragonwake-bin.000001

【MySQL】----MySQL日志管理

 

f)mysql日志查询

mysql> show variables like'log_%';

 

h)mysql当前日志

mysql> show master status;

【MySQL】----MySQL日志管理

 

i)mysql二进制日志数目

mysql> show master logs;

【MySQL】----MySQL日志管理