大数据知识体系
首页
数据结构与算法
  • JVM
  • Java
  • Scala
  • Python
设计模式
  • MySQL
  • Redis
  • HDFS
  • HBase
  • ClickHouse
  • ElasticSearch
  • Iceberg
  • Hudi
  • Spark
  • Flink
  • Hive
  • Yarn
  • Zookeeper
  • Maven
  • Git
  • 数据仓库
  • 用户画像
  • 指标体系
数据治理
关于
首页
数据结构与算法
  • JVM
  • Java
  • Scala
  • Python
设计模式
  • MySQL
  • Redis
  • HDFS
  • HBase
  • ClickHouse
  • ElasticSearch
  • Iceberg
  • Hudi
  • Spark
  • Flink
  • Hive
  • Yarn
  • Zookeeper
  • Maven
  • Git
  • 数据仓库
  • 用户画像
  • 指标体系
数据治理
关于
  • MySQL

    • MySQL 视图
    • MySQL 存储过程
    • MySQL 触发器
    • MySQL 事务
    • MySQL 存储引擎
    • MySQL 索引
    • MySQL 锁
    • MySQL 日志
      • 分类
      • 通用查询日志
      • 慢查询日志
      • 二进制日志
    • MySQL 主从复制
    • MySQL 分库分表
    • MySQL 读写分离
    • MySQL 性能分析
    • MySQL SQL执行顺序
    • MySQL 优化
  • Redis

    • Redis 概述
    • Redis 面试题
  • HDFS

    • HDFS 概述
    • HDFS 面试题
  • HBase

    • HBase 概述
    • HBase 面试题
  • ClickHouse

    • ClickHouse 概述
    • ClickHouse 安装
    • ClickHouse 数据类型
    • ClickHouse 引擎
    • ClickHouse 踩坑
  • ElasticSearch

    • ElasticSearch 概述
    • ElasticSearch 面试题
  • 数据存储
  • MySQL
Will
2022-03-05
目录

MySQL 日志

# 分类

MySQL 中的日志类型总共有 6 种:

  1. 通用查询日志:记录连接期间内发送给数据库服务器的所有指令,对数据库操作审计有很大帮助。
  2. 慢查询日志:记录所有查询时间超过long_query_time的 SQL。
  3. 二进制日志:也称为 Binlog,记录所有更改数据的日志。
  4. 错误日志:记录 MySQL 服务启动、运行和停止过程中出现的问题。
  5. 数据定义语句日志:记录数据定义语句执行的元数据操作。
  6. 中继日志:用于主从服务架构中,从服务器用来存放主服务器二进制日志内容的一个中间文件。

# 通用查询日志

查询日志中记录了客户端的所有操作语句,默认情况下是未开启的。

查看查询日志是否开启:

show variables like 'general_log';
1

查看查询日志存储位置:

show variables like 'general_log_file';
1

修改慢查询日志参数:

  1. 方式一:更改 my.cnf 配置文件
general_log = 1
general_log_file = /tmp/general_log.log
1
2
  1. 方式二:set 命令
set global general_log = 1;

set global general_log_file = '/tmp/general_log.log';
1
2
3

# 慢查询日志

慢查询日志记录了所有执行时间超过long_query_time参数(默认 10 秒)的 SQL 语句日志。可以通过show variables like 'slow_query_log'查看是否开启了慢查询日志,默认是不开启(OFF)的。

如果要开启慢查询日志,需要在配置文件(my.cnf)中配置如下信息:

# 开启慢查询日志
slow_query_log=1

# 指定超时时间,按需设置,默认为10,单位为秒
long_query_time=10
1
2
3
4
5

配置完记得重启 MySQL 服务:

systemctl restart mysqld
1

或者通过 set 命令进行设置:

set global slow_query_log = 1;

set global long_query_time = 10;
1
2
3

可以通过以下命令查看慢查询日志存储位置:

show variables like 'slow_query_log_file';
1

# 二进制日志

二进制日志(Binary Log),也称Binlog。记录了所有 DDL 和 DML 语句的操作,因为 DDL 和 DML 会引起数据变更。

Binlog 的主要作用:

  • 数据恢复
  • 主从复制

涉及到的参数可以通过以下命令查看:

show variables like '%log_bin%';
1
上次更新: 2023/11/01, 03:11:44

← MySQL 锁 MySQL 主从复制→

Theme by Vdoing | Copyright © 2022-2023 Will 蜀ICP备2022002285号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式