news 2026/1/29 21:44:08

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/1/24 15:42:14

Gradio界面打不开?Live Avatar常见问题全解答

Gradio界面打不开?Live Avatar常见问题全解答 1. 引言 随着数字人技术的快速发展,阿里联合高校开源的 Live Avatar 模型凭借其高质量、实时驱动和灵活可配置的特点,成为当前生成式AI领域的重要实践项目之一。该模型基于14B参数规模的DiT架构…

作者头像 李华
网站建设 2026/1/28 15:28:55

嵌入式系统中LCD1602液晶显示屏程序调度策略分析

如何让一块“古董级”LCD屏在嵌入式系统中跑得又稳又快?你有没有遇到过这种情况:项目里明明主控逻辑已经跑得很顺了,结果一加上LCD1602显示,整个系统就开始卡顿、响应变慢,甚至偶尔死机?别急——这并不是你…

作者头像 李华
网站建设 2026/1/26 23:04:12

RexUniNLU多任务优化:联合训练策略

RexUniNLU多任务优化:联合训练策略 1. 引言 在自然语言理解(NLP)领域,构建能够同时处理多种信息抽取任务的通用模型是提升系统效率与泛化能力的关键方向。RexUniNLU 是基于 DeBERTa-v2 架构开发的中文通用自然语言理解模型&…

作者头像 李华
网站建设 2026/1/26 7:31:16

FunASR + speech_ngram_lm_zh-cn 构建高精度中文ASR|附WebUI使用全指南

FunASR speech_ngram_lm_zh-cn 构建高精度中文ASR|附WebUI使用全指南 1. 背景与技术价值 随着语音交互场景的不断扩展,自动语音识别(ASR)在智能客服、会议记录、视频字幕生成等领域的应用日益广泛。FunASR 是由 ModelScope 推出…

作者头像 李华
网站建设 2026/1/26 6:26:57

AI图片校正实战:基于预置镜像的快速开发

AI图片校正实战:基于预置镜像的快速开发 你有没有遇到过这样的情况:客户发来一张产品照片,但拍得歪歪斜斜,背景还有透视变形,看起来特别不专业?或者你自己用手机扫描了一份合同,结果边缘弯曲、…

作者头像 李华
网站建设 2026/1/28 15:40:26

Speech Seaco Paraformer是否支持Ogg?小众格式兼容性测试报告

Speech Seaco Paraformer是否支持Ogg?小众格式兼容性测试报告 1. 背景与问题提出 在语音识别(ASR)的实际应用中,音频文件的格式多样性常常成为影响系统可用性的关键因素。尽管WAV和MP3是主流格式,但在某些场景下——…

作者头像 李华