MySQL日志包含如下几类:

1:错误日志

2:二进制日志

3:查询日志

4:慢查询日志

错误日志:

MySQL中重要的日志之一,主要记录当 mysql 启动、停止,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议查看此日志。该日志默认情况下为开启状态,默认存放目录 /var/log/,文件名mysqld.log 。

我们可以在mysql命令行中查看错误日志的存放目录:

8 mysql windows 日志 mysql的日志_二进制日志

8 mysql windows 日志 mysql的日志_数据库_02

 

二进制日志(Binlog):

主要记录数据库、数据表的增删改等操作,但不记录数据查询(SELECT、SHOW)操作。

作用:①. 灾难时的数据恢复;②. MySQL的主从复制。在MySQL8版本中,默认二进制日志是开启的

8 mysql windows 日志 mysql的日志_数据库_03

8 mysql windows 日志 mysql的日志_二进制日志_04

 

二进制文件提供多种格式来记录二进制日志,具体格式几特点如下:

8 mysql windows 日志 mysql的日志_8 mysql windows 日志_05

 

查看格式

8 mysql windows 日志 mysql的日志_8 mysql windows 日志_06

 

修改默认格式可以在/etc/my.cnf中配置binlog的格式

8 mysql windows 日志 mysql的日志_学习_07

 

修改格式后,请重启mysql

查看日志内容,需要使用mysqlbinlog这个命令进行查看,该命令参数如下:

8 mysql windows 日志 mysql的日志_mysql_08

如下所示,为创建数据库及创建数据表的记录 

 

8 mysql windows 日志 mysql的日志_学习_09

对于繁忙的业务系统,每天会生成大量的binlog日志,如果长时间不清除,将会占用大量的磁盘空间。因此,我们可以通过以下几种方式对日志系统进行清理:

8 mysql windows 日志 mysql的日志_二进制日志_10

 

当然,我们也可以在mysql的配置文件中对二进制日志的过期时间进行设置,设置了之后,二进制日志过期会自动删除。我们可以通过如下命令查看二进制默认保存时间,我们只要把改时间改短,那么系统就能自动删除规定时间内的二进制日志文件。

8 mysql windows 日志 mysql的日志_mysql_11

 

查询日志:

该日志主要记录了客户端的所有操作语句,例如查询,更新等。默认情况下,查询日志是未开启的。

8 mysql windows 日志 mysql的日志_数据库_12

若查询日志为开启状态,我们可以修改/etc/my.cnf进行查询日志的开启,如下所示

 

 

8 mysql windows 日志 mysql的日志_学习_13

 

修改文件后,记得重启mysql才能生效

如下,对数据库进行的查询,更新操作,我们的查询日志里面都会进行记录

8 mysql windows 日志 mysql的日志_学习_14

慢查询记录:

主要用于记录执行时间超过参数 long_query_time的设置值并且扫描记录数不小于 min_examined_row_limit 的所有的SQL语句的日志,默认未开启。long_query_time 默认为 10 秒,最小为 0, 精度可以到微秒。若要开启慢查询日志,需要在MySQL的配置文件 /etc/my.cnf 中进行配置:

8 mysql windows 日志 mysql的日志_二进制日志_15

以上,是对Mysql各种日志的学习记录。