mysql数据库日志文件分为哪几类?

发布时间:2019-12-08编辑:脚本学堂
有关mysql数据库日志文件的类型,包括错误日志、sql执行日志、更新日志、二进制日志、超时日志等,这里做下总结,需要的朋友参考下。

本节是mysql/ target=_blank class=infotextkey>mysql数据库日志文件的基础教程,mysql日志文件类型与配置简介。

mysql有不同类型的日志文件(各自存储了不同类型的日志),从它们当中可以查询到mysql里都做了些什么,对于mysql的管理工作,这些日志文件是不可缺少的。
1、错误日志(the error log):记录了数据库启动、运行以及停止过程中错误信息;

2、isam操作日志(the isam log):记录了所有对isam表的修改,该日志仅仅用于调试isam模式;

3、sql执行日志(the query log):记录了客户端的连接以及所执行的sql语句

4、更新日志(the update log):记录了改变数据的语句,已经不建议使用,由二进制日志替代;

5、二进制日志(the binary log):记录了所有对数据库数据的修改语句;

6、超时日志(the slow log):记录所有执行时间超过最大sql执行时间(long_query_time)或未使用索引的语句;

如果是在用mysql的复制、备份功能,那么从服务器还提供了一种叫做relay log的日志文件。

默认情况下所有日志文件会记录在mysql的数据目录下,可以通过强制mysql去关闭并重新打开一个文件进行日志记录,当然系统会自动加后缀(如.00001, .00002),方式有在mysql环境下执行语句:

mysql>flush logs;

或通过mysqladmin管理程序执行:
 

#mysqladmin flush-logs 或 #mysqladmin refresh

这些日志的启动方式可以在mysqld_safe方式启动数据库时,后面跟选项参数,也可以在配置文件里配置。

推荐采用第二种方式,配置方法简单,这里只配置了三种日志:
 

[mysqld]
log=/var/log/mysqld_common.log
log-error=/var/log/mysqld_err.log
log-bin=/var/log/mysqld_bin.bin

mysql二进制文件的查看方法:

1、首先,确定是否开启了二进制文件记录功能
 

mysql>show variables like 'log_bin';

2、记录二进制数据的文件具体信息,可以查看正在记录哪个文件,以及记录的当前位置:
 

mysql>show master status;

3、查看二进制数据
借助程序mysqlbinlog,看看它支持哪些选项,根据需要来使用。
 

mysql>mysqlbinlog /var/log/mysql/mysql-bin.000040;

查询某个时间范围的二进制日志数据:
 

mysql>mysqlbinlog --start-datetime='2008-01-01 00:00:00' --stop-datetime='2008-08-08 00:00:00'  /var/log/mysql/mysql-bin.000040 > ./tmp.log