如何在 MySQL 中开启日志记录并排查操作记录

在数据库管理中,能够追踪和审查操作记录是至关重要的。这不仅有助于识别和分析正常的数据库活动,还可以在数据泄露或未经授权的更改发生时进行调查和响应。本文将介绍如何在 MySQL 中开启通用日志记录,并如何排查操作记录。

开启 MySQL 通用日志

通用日志记录了发往 MySQL 服务器的每一个客户端命令,包括每个 SQL 查询。这对于调试和监控数据库活动非常有用。

步骤 1: 检查当前的日志设置

首先,您需要查看当前的通用日志状态和日志文件位置:

SHOW VARIABLES LIKE 'general_log%';

这会返回通用日志是否开启以及日志文件的路径。
在这里插入图片描述

步骤 2: 启用通用日志

如果通用日志是关闭的,您可以通过以下命令临时开启它(直到下次重启服务):

SET GLOBAL general_log = 'ON';

在这里插入图片描述

为了持久化这个更改,使得在 MySQL 重启后通用日志仍然保持开启状态,需要编辑 MySQL 的配置文件(通常是 my.cnfmy.ini),在 [mysqld] 部分添加或修改以下行:

general_log = 1
general_log_file = /path/to/your/logfile.log

请将 /path/to/your/logfile.log 替换为您想要日志文件存储的路径和文件名。

步骤 3: 重新启动 MySQL(如果需要)

如果您在配置文件中做了更改,需要重启 MySQL 服务以应用这些更改:

sudo systemctl restart mysql

或者使用其他适用于您系统的命令。

如何排查操作记录

有了通用日志,您就可以查看并分析数据库的所有操作,包括查询、登录尝试等。

查看日志文件

直接打开日志文件,您可以用文本编辑器或通过命令行工具如 lessgrep 查看日志内容:

less /path/to/your/logfile.log

您可以搜索特定的日期、时间、SQL 命令或任何其他关键字来定位相关的日志条目。

分析日志内容

当分析日志时,关注以下几点:

  • 时间戳:日志条目何时被记录?
  • 用户:哪个数据库用户执行了操作?
  • 操作:执行了哪些 SQL 命令?
  • 来源IP:请求是从哪个IP地址发起的?

通过分析这些信息,您可以构建操作的时间线,并识别任何可疑或非授权的活动。

结论

开启 MySQL 的通用日志对于监控和审计数据库活动至关重要。虽然它可能会增加磁盘使用量和对性能的影响,但在需要详细审计或调试问题时,这个功能是非常有价值的。通过定期检查和分析日志,您可以提高对数据库环境的见解和控制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024/4/14周报

文章目录 摘要Abstract文献阅读题目创新点CROSSFORMER架构跨尺度嵌入层(CEL)CROSSFORMER BLOCK长短距离注意(LSDA)动态位置偏置(DPB) 实验 深度学习CrossFormer背景维度分段嵌入(DSW&#xff09…

c++ 根据ip主机号和子网掩码随机生成ip

在C中&#xff0c;可以使用以下方法根据给定的IP地址和子网掩码来随机生成IP地址。这里使用了库来生成随机数&#xff0c;以及<arpa/inet.h>库来处理IP地址。 #include <iostream> #include <random> #include <arpa/inet.h>std::string random_ip(co…

面试经典150题 删除有序数组中的重复项 II

面试经典150题 day4 题目来源我的题解方法一 双指针 题目来源 力扣每日一题&#xff1b;题序&#xff1a;80 我的题解 方法一 双指针 left和right分别指向相同元素的左右边界&#xff0c;count记录重复元素的个数&#xff0c;index记录最终数组的长度。 当元素没有重复时&am…

数据库工程师题目

【软考通】 程序中全局变量的存储空间在&#xff08;B&#xff09;分配。 A 代码区 B 静态数据区 C 栈区 D 堆区 程序运行时的用户内存空间一般划分为代码区、静态数据区、栈区和堆区&#xff0c;其中栈区和堆区也称为动态数据区。全局变量的存储空间在静态数据区。 以下…

1.0 Hadoop 教程

1.0 Hadoop 教程 分类 Hadoop 教程 Hadoop 是一个开源的分布式计算和存储框架&#xff0c;由 Apache 基金会开发和维护。 Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持&#xff0c;它允许使用简单的编程模型跨计算机群集分布式处理大型数据集&#xf…

IntelliJ IDEA 配置攻略:提高开发效率的 5 个秘诀

一、前言 A. 主要介绍内容&#xff1a; 本篇博客将着重介绍如何通过高效使用 IntelliJ IDEA&#xff0c;提高开发效率以及编写出更好的代码。主要内容包括 IntelliJ IDEA 快速配置&#xff0c;自动编写代码&#xff0c;快捷代码提示&#xff0c;快速生成代码段&#xff0c;快…

SAFe认证Leading SAFe官方认证班/Leading SAFe领导大规模敏捷认证课

课程简介 SAFe – Scaled Agile Framework是目前全球运用最广泛的大规模敏捷框架&#xff0c;也是全球敏捷相关认证成长最快、最被认可、最有价值的规模化敏捷认证&#xff0c;目前全球SAFe认证专业人士已达120万人。 据官方统计&#xff0c;获得新证书的IT专业人士的平均工资…

排序算法之快速排序

目录 一、简介二、代码实现三、应用场景 一、简介 算法平均时间复杂度最好时间复杂度最坏时间复杂度空间复杂度排序方式稳定性快速排序O( N N N log ⁡ 2 N \log_{2}N log2​N)O( N N N log ⁡ 2 N \log_{2}N log2​N)O(n^2)O( log ⁡ 2 N \log_{2}N log2​N)In-place不稳定 稳…

HLOOKUP函数结合数据验证实现的动态图表

小伙伴们&#xff0c;大家好啊&#xff01;今天我们分享一个使用HLOOKUP函数结合数据验证实现的动态图表技巧&#xff1b; 接下来我们具体说说操作步骤吧。 步骤1&#xff1a;选中A列的【路口车辆通过数】单元格区域&#xff0c;复制粘贴后到右边的空白区域&#xff0c;如I列…

加权 [Picard皮卡尔法 ](或非加权)最小二乘相位解包裹-matlab

phase_unwrap.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 根据Ghiglia和Romero(1994)提出的方法,基于加权和非加权最小二乘法进行相位解包裹 % 链接:https://doi.org/10.1364/JOSAA.11.000107 % 输…

【ArcGIS Pro二次开发】(85):Aspose.Cells中的Excel操作

Aspose.Cells是一款功能强大的Excel文档处理和转换控件&#xff0c;开发人员和客户电脑无需安装Microsoft Excel也能在应用程序中实现类似Excel的强大数据管理功能。 1、获取工作薄Workbook string excelFile "C:\Users\Administrator\Desktop\FE.xlsx"; Workbook …

日志数据采集存储

海量日志采集 在业务高峰期下&#xff0c;会有同时成千上万个客户端建立连接&#xff0c;实时上报日志数据。 在上面的高峰期场景下&#xff0c;日志采集服务会有不小的压力&#xff0c;如果程序代码逻辑处理稍有不当&#xff0c;就会造成服务卡顿、CPU 占用过高、内存溢出等…

数组(java)

目录 数组的定义和使用&#xff1a; 数组的初始化&#xff1a; 遍历数组&#xff1a; 数组是引用类型 初始JVM的内存分布 再读引用变量 认识null 数组的应用场景 作为函数的参数 作为函数的返回值 数组练习 数组转字符串 排序 冒泡排序 数组逆序 数组求平均…

代码随想录-算法训练营day07【哈希表02:四数相加、赎金信、三数之和、四数之和】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第三章 哈希表part02 今日任务 ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结 详细布置 454.四数相加II 建议&#xff1a;本题是 使用map 巧妙解决的问题&#xff0c;好好体会一下 …

tsReact 创建项目

全局安装create-react-app 脚手架 npm install -g create-react-app 或者 yarn add -g create-react-app初始化项目 $ npx create-react-app demo --template typescriptnpm run eject 释放配置文件 通过脚手架创建完项目后&#xff0c;会发现没有任何 配置文件&#xff08;…

C++| QT自定义信号和槽

前言&#xff1a;之前学习QT都是使用自带的信号进行槽函数触发&#xff0c;一直没有找到需要使用自定义信号的场景&#xff0c;但最近读QT项目代码的时候&#xff0c;应用到了自定义信号&#xff0c;所以特地写这篇总结一下。 QT自定义信号和槽 信号和槽为什么要自定义信号如何…

CSRF漏洞初解

CSRF漏洞初解 1.什么是CSRF漏洞 CSRF&#xff08;Cross-Site Request Forgery&#xff09;漏洞是一种Web应用程序安全漏洞&#xff0c;也被称为"One-Click Attack"或"Session Riding"。它利用了Web应用程序对用户在其他网站上已经验证过的身份的信任&…

数据——关键生产要素

数据作为数字经济时代的关键生产要素&#xff0c;逐步融入生产生活各方面&#xff0c;深刻影响并重构着经济社会运行和社会治理&#xff0c;已成为影响未来发展的关键战略性资源。近年来&#xff0c;我国高度重视发展数字经济、数据要素及其市场化配置改革&#xff0c;发布了一…

多模态对齐方案

最全 LMM 模型结构&#xff08;13种&#xff09;综述本文中我们介绍了 13 中常见的大型多模态模型&#xff08;Large Multimodal Models, LMM&#xff09;&#xff0c;包括 BLIP-2&#xff0c;LLaVA、MiniGPT、Qwen-VL 以及 Ferret 等。https://mp.weixin.qq.com/s/EnK7F0yPYmX…

C语言入门(第二天:判断、循环)

一、基础语法 1.1 位运算符(&#xff01;&#xff01;重点) 运算符术语示例结果&按位与011 & 1012个都为1才为1&#xff0c;结果为001|按位或011 & 101有1个为1就为1&#xff0c;结果为111^按位异或011 ^ 101不同的为1&#xff0c;结果为110~取反011100<<左…