news 2026/6/10 19:52:57

Linux-MySQL日志管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux-MySQL日志管理

1.日志概述

1.1什么是MySQL日志

MySQL 日志用于记录数据库运行期间各种行为动作(DDL,DML,DQL,DCL)。可以是文件、文本等存储形式。记录了 MySQL 从启动、运行到结束的整个生命周期中的关键行为。

1.2MySQL日志的作用

MySQL日志作用
1.故障排查帮助诊断数据库运行问题
2.性能分析识别性能瓶颈和慢查询
3.数据恢复提供数据恢复基础
4.安全审计记录数据库访问和操作行为
5.主从复制支持数据库复制与数据同步

1.3MySQL日志类型

MySQL日志分类
日志类型主要作用默认状态
错误日志(Error Log)记录启动、关闭、错误、警告信息开启
通用查询日志(General Query Log)记录所有客户端连接和执行的数据库关闭
二进制日志(Binary Log)记录所有修改数据库内容的操作,用于数据恢复和主从复制关闭(5.7)、开启(8.0)
慢查询日志(Slow Query Log)记录执行时间超过阈值的查询,用于性能优化关闭
中继日志(Relay Log)在主从复制中,从服务器用于存储主服务器二进制日志事件主从时开启
重做日志(Redo Log)InnoDB引擎特有,保持事务的持久性和恢复能力开启
回滚日志(Undo Log)记录事务回滚信息,支持事务的原子性开启

2.日志配置与管理

MySQL配置文件
/etc/my.cnf

2.0日志位置

MySQL日志位置
源码安装MySQL
数据存放目录/usr/local/mysql/data
错误日志/usr/local/mysql/data/mysqld.log
二进制日志/usr/local/mysql/data/binlog.000001
RPM包安装MySQL
数据存放目录/var/lib/mysql
错误日志/var/log/mysqld.log
二进制日志/var/lib/mysql/binlog.000001

2.1错误日志-Error Log

查看错误日志文件路径
SHOW VARIABLES LIKE 'log_error';

相关配置-vim /etc/my. cnf(需重启MySQL服务)

log-error = /usr/local/mysql/data/mysqld.log -更改改日志路径

2.2通用查询日志-General Query Log

查看通用查询日志文件路径
SHOW VARIABLES LIKE 'general%';

相关配置-vim /etc/my. cnf(需重启MySQL服务)

general_log = 1 -启动通用查询日志
general_log_file = /var/lib/mysql/general.log -更改日志路径

MySQL中可以执行
SET GLOBAL general_log = ON;
SET GLOBAL general_log_file = '/var/lib/mysql/general.log';

2.3慢查询日志-Slow Query Log

查看慢日志文件路径
SHOW VARIABLES LIKE 'slow_query%';

查看慢日志记录规定时间
SHOW VARIABLES LIKE 'long_query_time';

相关配置-vim /etc/my. cnf(需重启MySQL服务)

slow_query_log = 1 -启动慢查询日志

slow_query_log_file = /usr/local/mysql/data/slow_query.log -更改慢查询日志路径

long_query_time = 5 -设置慢查询被记录的时间

MySQL中可以执行

SET GLOBAL slow_query_log = ON;
SET GLOBAL slow_query_log_file = '/usr/local/mysql/data/slow_query.log';
SET GLOBAL long_query_time = 5.0;

2.4中继日志-Relay Log

中继日志用于主从复制环境,从服务器通过中继日志暂存从主服务器接收的二进制日志事件。

2.4.1以下命令均在从服务器执行

显示从库状态
SHOW SLAVE STATUS\G

显示主库状态
SHOW MASTER STATUS\G

查看中继日志相关参数
SHOW VARIABLES LIKE '%relay%';

中继日志信息表
SELECT * FROM mysql.slave_relay_log_info;

3.二进制日志

二进制日志记录所有数据变更,用于:数据恢复、主从复制、数据审计

3.1查看二进制日志状态

SHOW VARIABLES LIKE '%log_bin%';

3.2查看当前二进制日志文件

SHOW BINARY LOGS;

相关配置-vim /etc/my. cnf(需重启MySQL服务)

log-bin = /usr/local/mysql/data/mysql-bin -二进制日志文件前缀

server-id = 1 -服务器唯一标识符(主从复制必须)

binlog_format = ROW -修改二进制日志文件格式为ROW

SET GLOBAL binlog_format = 'ROW'; -动态修改日志格式

3.3二进制日志格式

二进制日志格式
格式特点优缺点使用场景
STATEMENT记录SQL语句本身,而不是数据本身文件小,复制效率高简单查询,无函数依赖
ROW记录每一行数据被修改了哪些内容,而不是SQL语句文件大,回复速度慢数据一致性要求高
MIXED根据执行的SQL语句自动选择使用什么格式管理相对复杂大多数生产环境

3.4查看二进制日志内容

3.4.1使用mysqlbilog工具查看

mysqlbinlog /usr/local/mysql/data/mysql-bin.000001

3.4.2解码查看详细内容

mysqlbinlog -v --base64-output=DECODE-ROWS /usr/local/mysql/data/mysql-bin.000001 mysqlbinlog -v /usr/local/mysql/data/mysql-bin.000001

3.5二进制日志管理

3.5.1查看所有二进制日志文件

SHOW BINARY LOGS;

3.5.2刷新日志,创建新的二进制日志文件

FLUSH LOGS;

3.5.3删除指定时间前的二进制日志

PURGE BINARY LOGS BEFORE '2026-01-19 12:00:00';

3.5.4删除所有二进制日志

RESET MASTER;

3.5.5临时关闭当前会话的二进制日志记录

SET sql_log_bin = 0;

3.6二进制日志恢复数据案例

实验环境

先创建db5数据库,在删除

3.6.1基于时间点恢复

首先查看binlog日志找到创建db5的记录

使用命令恢复数据
mysqlbinlog -v /var/lib/mysql/binlog.000011 --start-datetime="2026-01-19 20:30:34" --stop-datetime="2026-01-19 20:30:59" | mysql -uroot -p'Root@123'

3.6.2基于位置服务

首先查看binlog日志找到创建db5的记录
mysqlbinlog /var/lib/mysql/binlog.000011

使用命令恢复数据
mysqlbinlog -v /var/lib/mysql/binlog.000011 --start-position=601 --stop-position=706 | mysql -uroot -p'Root@123'

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 8:12:36

避坑指南:用Docker一键部署Qwen2.5-7B-Instruct的常见问题解决

避坑指南:用Docker一键部署Qwen2.5-7B-Instruct的常见问题解决 1. 引言 随着大语言模型能力的持续演进,Qwen2.5系列在知识广度、编程与数学推理、长文本生成及结构化数据理解等方面实现了显著提升。其中,Qwen2.5-7B-Instruct 作为经过指令微…

作者头像 李华
网站建设 2026/6/10 8:07:04

verl广告文案生成:自动化营销内容创作平台

verl广告文案生成:自动化营销内容创作平台 1. verl 介绍 verl 是一个灵活、高效且可用于生产环境的强化学习(RL)训练框架,专为大型语言模型(LLMs)的后训练设计。它由字节跳动火山引擎团队开源&#xff0c…

作者头像 李华
网站建设 2026/6/10 8:18:39

5个SAM3创意玩法:云端GPU开箱即用,10元全体验

5个SAM3创意玩法:云端GPU开箱即用,10元全体验 你是不是也遇到过这种情况?作为一个自媒体博主,看到别人用AI做特效视频炫酷到爆——人物自动抠像、物体追踪无缝合成、还能根据一句话就把画面里“穿红衣服的人”精准圈出来。你也想…

作者头像 李华
网站建设 2026/6/9 23:56:53

DCT-Net实战案例:企业形象设计卡通化解决方案

DCT-Net实战案例:企业形象设计卡通化解决方案 1. 背景与需求分析 随着数字营销和品牌个性化的兴起,越来越多企业希望打造具有辨识度的虚拟形象用于宣传、客服或IP运营。传统的卡通形象设计依赖专业画师,成本高、周期长,难以满足…

作者头像 李华
网站建设 2026/6/10 8:14:48

年龄性别识别系统开发:完整项目实战

年龄性别识别系统开发:完整项目实战 1. 引言 1.1 AI 读脸术 - 年龄与性别识别 在计算机视觉领域,人脸属性分析正成为智能监控、用户画像、个性化推荐等场景中的关键技术。其中,年龄与性别识别作为基础能力,因其低复杂度、高实用…

作者头像 李华
网站建设 2026/6/10 8:18:43

Open Interpreter内置Qwen3-4B模型优势分析:本地推理一文详解

Open Interpreter内置Qwen3-4B模型优势分析:本地推理一文详解 1. Open Interpreter 简介与核心能力 Open Interpreter 是一个开源的本地代码解释器框架,旨在通过自然语言驱动大语言模型(LLM)在用户本机构建完整的编程执行环境。…

作者头像 李华