MYSQL--- 日志类相关问题

本文详细介绍了MySQL的各种日志类型,包括二进制日志(binary_log)用于数据恢复和主从复制,慢查询日志(slow_query_log)用于性能优化,以及错误日志(err_log)用于排查运行错误和授权问题。通过日志,可以审计用户活动,监控数据库性能并进行故障排查。配置选项如binlog_format、long_query_time等对日志的使用至关重要。
摘要由CSDN通过智能技术生成

1. 相关面试问题

常用的mysql 日志有哪些?我们在什么情况下使用这些日志?
如何通过日志来审计用户活动?

2. 常用的mysql 日志及使用场景

知识点:

  • mysql 常用的日志类型
  • 各种日志的配置和使用场景

2.1 mysql 常用的日志类型

在这里插入图片描述
【注】
bin_log: 主服务器上必须有;
relay_log: 可看成主服务器上的二进制日志在从服务器上的副本;

err_log
  • 分析排除mysql 运行错误
  • 记录未经授权的访问
  • 记录位置 : log_error = $mysql/sql_log/mysql-error.log
  • 错误级别 : log_error_verbosity = [1,2,3]
  • log_error_services = [日志服务组件; 日志服务组件] mysql 8.0 中增加

在这里插入图片描述
在这里插入图片描述

general_log
  • 分析客户端发送到mysql 的实际请求
  • 配置: general_log = [ON | OFF] 默认是关闭, 可以用set 开启
  • 存储路径: general_log_file = $mysql/sql_log/general.log
  • 还可以存储在文件、表中 : log_output = [FILE | TABLE |NONE]
慢查询日志 slow_query_log
  • 将执行成功并符合条件的查询记录到日志中
  • 找到需要优化的sql (执行时间长, 没有使用索引等)
  • 配置 : slow_query_log = [ON | OFF] 默认是关闭的
  • 存储路径: slow_query_log = $mysql/sql_log/slow_query.log
  • long_query_time = xx(秒) 当sql执行时间超过这个时间就会记录;设置为0,则记录所有sql记录
  • log_queries_not_using_indexes = [ON | OFF] 开启后,没有使用索引则会被记录
  • log_slow_admin_statements = [ON | OFF] 开启后记录管理命令
  • log_slow_slave_statements = [ON | OFF] 很少使用
二进制日志 (binary_log) 非常重要
  • 记录所有对数据库中数据的修改 (show, slect 不会被记录)
  • 基于时间点的备份和恢复
  • 主从复制(高可用实现必不可少)
  • 配置: log-bin [= base_name] 静态参数,在配置文件才能修改
  • binlog_format = [ROW | STATEMENT | MINED] 格式化, 默认 ROW
  • binlog_row_image = [FULL | MINIMAL | NOBLOB ] 默认 FULL
  • binlog_rows_query_log-events= [ON | OFF] 开启后能记录实际执行的sql 语句,默认关闭
  • log_slave_updates = [ON | OFF] 默认关闭
  • sync_binlog = [1 | 0 ] 默认 1 ;表示控制主动向磁盘刷新, 如果是0, 不会主动刷新
  • expire_logs_days = days 设置过期时间
  • PURGE BINARY LOGS TO ‘mysql-bin.010’ 删除之前的文件
  • PURGE BINARY LOGS TO BEFROE ’2022-04-03 22:22:22‘ 表示删除小于这个日期的日志文件
中继日志(relay_log)
  • 临时记录从主服务器同步的二进制日志
  • 配置:relay_log = filename
  • relay_log_purge = [ON | OFF] 表示是否对它进行清理

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值