MySQL的各种日志

发布时间:2024年01月13日

目录

一、错误日志

二、二进制日志?

1、介绍

2、作用

?3、相关信息

4、日志格式

5、查看二进制文件?

?6、二进制日志文件删除

?三、查询日志

?四、慢日志


一、错误日志

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

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

二、二进制日志?

1、介绍

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

2、作用

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

?3、相关信息

?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天:

?三、查询日志

? ? ? ? 查询日志记录了客户端的所有操作语句,而二进制不包含查询数据的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

? ? ?

文章来源:https://blog.csdn.net/qq_42251944/article/details/135566862
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。