MySQL的各种日志

目录

一、错误日志

二、二进制日志 

1、介绍

2、作用

 3、相关信息

4、日志格式

5、查看二进制文件 

 6、二进制日志文件删除

 三、查询日志

 四、慢日志


一、错误日志

        记录MySQL在启动和停止时,以及服务器运行过程中发生的严重错误的相关信息,当数据库出现故障导致服务不可用时,应该先查询错误日志。

        错误日志默认开启,默认存储路径为/var/log/,默认日志文件名为:mysqld.log

MySQL的各种日志_第1张图片

二、二进制日志 

1、介绍

        简称BINLOG日志,记录了所有的DDL(数据库定义语言)和DML(数据操作语言)语句,但是记录SELECT语句和SHOW语句。

2、作用

  • 灾难时恢复数据
  • MySQL的主从复制

 3、相关信息

MySQL的各种日志_第2张图片 MySQL8版本是默认开启的

log_bin_basename对应的是存放路径,路径最后的binlog是文件前缀,一般第一个文件是binlog0001.log,第二个是binlog0002.log,类似,不知道中间几个0,哈哈哈

4、日志格式

  • statement格式:记录的是修改数据的SQL
  • row格式:记录修改前和修改后的数据
  • mixed格式:混合模式,默认采用statement,特殊情况采用row格式

5、查看二进制文件 

mysqlbinlog [参数] 文件名

参数选项:

  • -d:指定数据库名称,只列出指定数据库数据的相关信息
  • -o:忽略掉日志中的前n行命令。
  • -v:将行数据转变为SQL语句。
  • -vv:将行数据转变为SQL语句,并且带有注释

 6、二进制日志文件删除

  • reset master:删除全部
  • purge master logs to 'binlog.*****':删除指定编号之前的日志文件
  • purge master logs before 'yyyy-mm-dd hh24:mi:ss':删除指定日期之前的所有日志文件

 可以设置过期时间,默认是30天:

MySQL的各种日志_第3张图片

 三、查询日志

        查询日志记录了客户端的所有操作语句,而二进制不包含查询数据的SQL语句。默认情况下不开启。

开启方式:

#修改配置文件 /etc/my.cnf,0表示关闭,1表示开启

general_log=1

#指定日志文件名

general_log_file=filename

 四、慢日志

#开启慢日志

slow_query_log=1

#设置慢日志标准,以下配置表示超过2秒即为慢SQL

long_query_time=2

#记录执行比较慢的SQL语句

log_slow_admin_statements=1

#记录执行较慢的未使用索引的语句

log_queries_not_using_indexes=1

     

你可能感兴趣的:(数据库,mysql,数据库)