当前位置: 首页 > news >正文

mysql笔记:10. 日志

文章目录

  • 一、日志概述
  • 二、错误日志
    • 1. 启动
    • 2. 查看
    • 3. 删除
  • 三、二进制日志
    • 1. 启动
    • 2. 查看
    • 3. 删除
  • 四、通用查询日志
    • 1. 启动
    • 2. 查看
    • 3. 删除
  • 五、慢查询日志
    • 1. 启动
    • 2. 查看
    • 3. 删除

日志是MySQL数据库的重要组成部分,日志文件中记录着MySQL数据库运行期间发生的变化。MySQL有不同类型的日志文件,包括错误日志、通用查询日志、二进制日志以及慢查询日志等。对于管理工作而言,这些日志文件是不可缺少的。

一、日志概述

MySQL日志主要分为四类。

  1. 错误日志:记录服务的启动、运行或停止MySQL服务时出现的问题。
  2. 查询日志:记录建立的客户端连接和执行的语句。
  3. 二进制日志:记录所有更改数据的语句,可以用于数据复制。
  4. 慢查询日志:记录所有执行时间超过long_query_time的所有查询或不使用索引的查询。

在默认情况下,所有日志创建于MySQL数据目录中。通过刷新日志,可以强制MySQL关闭和重新打开日志文件。当执行一个FLUSH LOGS语句或执行mysqladmin flush-logsmysqladmin refresh时,将刷新日志。
如果正在使用MySQL复制功能,在复制服务器上可以维护更多日志文件,这种日志称为接替日志。
启动日志功能会降低MySQL数据库的性能。同时,日志会占用大量的磁盘空间。

二、错误日志

错误日志记录着MySQL服务器的启动和停止过程中的信息、服务器在运行过程中发生的故障和异常情况的相关信息、事件调试器运行一个事件时产生的信息、从服务器上启动服务器进程时产生的信息等。

1. 启动

在默认状态下错误日志功能是开启的,并且不能被禁止。错误日志信息也可以通过修改my.ini文件自行配置。它所记录的信息是通过log-error和log-warnings来定义的。其中log-error定义是否启用错误日志的功能和错误日志的存储位置,log-warnings定义是否将警告信息也定义到错误日志中。
–log-error=[file-name]是用来指定错误日志存放的位置。如果没有指定,则默认hostname.err作为文件名,默认存放在DATADIR目录中。

2. 查看

错误日志是以文本文件形式存储的,可以直接使用普通文本工具打开查看。
通过show命令可以查看错误日志文件所在目录及文件名信息:

mysql> show variables like 'log_error';

3. 删除

管理员可以删除很久之前的错误日志以释放磁盘空间。
可以使用mysqladmin和flush logs来开启新的错误日志。

> mysqladmin -u username -p flush-logs
# 或
mysql> flush logs

三、二进制日志

二进制日志文件用来记录所有用户对数据库的操作。当数据库发生意外时,可以通过此文件查看在一段时间内用户所做的操作,结合数据库备份技术,即可再现用户操作,使数据库恢复。

1. 启动

二进制日志记录了所有对数据库数据的修改操作,开启二进制日志可以实现以下功能:

  • 恢复(recovery):某些数据的恢复需要二进制日志。
  • 复制(replication):其原理与恢复类似,通过复制和执行二进制日志使一台远程的MySQL数据库(一般称为slave或standby)与另一台MySQL数据库(一般称为master或primary)进行实时同步。
  • 审计(audit):用户可以通过二进制日志中的信息来进行审计。
[mysqld]
log-bin [=path/ [filename] ]
expire_logs_days = 10
max_binlog_size = 100M

2. 查看

# 查看二进制日志是否开启
mysql> show variables like 'log_bin';# 查看二进制日志的上限值
mysql> show variables like 'max_binlog_size';# 查看二进制日志文件
mysql> show binary logs;# 查看二进制日志文件的具体信息
mysql> show binlog events in filename\G

3. 删除

开启二进制日志会对数据库整体性能有所影响,但性能损失十分有限。MySQL的二进制文件可以配置自动删除,同时MySQL也提供了安全的手工删除方法,即reset master;使用purge master logs语句删除部分二进制日志文件。

# 删除所有日志
mysql> reset master;
# 删除指定编号前的日志
mysql> purge master logs to 'filename.****';
# 删除指定日期前的日志
mysql> purge master logs before 'YYYY-MM-DD HH24:MI:SS';

四、通用查询日志

通用查询日志记录所有用户操作,包括启动和关闭服务、执行查询和更新语句等。

1. 启动

默认情况下,MySQL并没有开启通用查询日志。

# 查看通用查询日志状态
mysql> show variables like '%general%';# 开启通用查询日志
mysql> set @@global.general_log=1;
# 关闭通用查询日志
mysql> set @@global.general_log=0;

2. 查看

通用查询日志是文本文件的形式存储的,可直接打开。

3. 删除

直接删除日志文件即可。

五、慢查询日志

慢查询日志主要用来记录执行时间较长的查询语句。通过慢查询日志,可以找出执行时间较长、执行效率较低的语句,然后进行优化。

1. 启动

慢查询日志默认是关闭的。可以通过配置文件my.ini或my.cnf中的log-slow-queries选项打开,也可以在服务启动时使用–log-slow-queries[=file_name]启动。
启用慢查询日志时,需要配置long_query_time选项指定记录阈值。如果某条查询语句的查询时间超过了这个阈值,这个查询过程将被记录到慢查询日志文件中。

# my.ini或my.cnf
[mysqld]
log-slow-queries=[path / [filename] ]
log-query-time=n

默认存储在数据目录,文件名是hostname-slow.log
时间单位是秒,默认10秒。

mysql> show variables like '%slow%';

2. 查看

文本形式存储,直接查看。

3. 删除

直接删除日志文件即可。

相关文章:

mysql笔记:10. 日志

文章目录 一、日志概述二、错误日志1. 启动2. 查看3. 删除 三、二进制日志1. 启动2. 查看3. 删除 四、通用查询日志1. 启动2. 查看3. 删除 五、慢查询日志1. 启动2. 查看3. 删除 日志是MySQL数据库的重要组成部分,日志文件中记录着MySQL数据库运行期间发生的变化。M…...

代码随想录刷题笔记-Day32

1. 最大子序和 53. 最大子数组和https://leetcode.cn/problems/maximum-subarray/ 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组:是数组中的一个连续…...

指针的学习5

目录 sizeof和strlen的区别 sizeof strlen 数组和指针笔试题解析 一维数组 字符数组 二维数组 指针运算笔试题解析 题目1: 题目2: 题目3: 题目4: 题目5: 题目6: 题目7: sizeof和…...

Dynamo——常用几何形体的创建与编辑(二)

上一次,我们简单整理了一些创建几何形体的节点用法,今天我们接着整理一些,几何形体的编辑方法。 一、坐标点的平移复制 [Point.Add] 使用节点 “Vector.ByCoordinates” 生成一个向量,将该向量连接到 “Point.Add” 节点的输入端 …...

uniapp富文本编辑-editor-vue2-vue3-wangeditor

前言 不管vue2还是vue3,都推荐官方的editor组件, 官方手册 https://uniapp.dcloud.net.cn/component/editor.html除了“微信小程序”,其他小程序想要使用editor组件实现富文本编辑,很难 ​​​​​​​第三方组件wangeditor在vue2&#xff0…...

【java】22:try-catch 异常处理

try-catch 方式处理异常说明 public static void main(String[] args) { int num1 10; int num2 0; try { int res num1 / num2; } catch (Exception e) { System.out.println(e.getMessage()); } } 注意事项 1)如果异常发生了,则异常发生后面的代码不会执行&…...

【C语言】linux内核ip_local_out函数

一、讲解 这个函数 __ip_local_out 是 Linux 内核网络子系统中的函数,部分与本地出口的 IPv4 数据包发送相关。下面讲解这段代码的每一部分: 1. 函数声明 int __ip_local_out(struct net *net, struct sock *sk, struct sk_buff *skb): -…...

动态规划6,最大数组和,环形子数组最大和,乘积最大子数组

最大子数组和 思路: 1.经验题目要求 dp[i]表示:以 i 位置为结尾的所有子数组中的最大和 2.状态转移方程 按长度来划分,如果长度为1,那么dp[i] nums[i]; 如果长度大于1,那么当前位置的最大和就为 i-1 位置最大和 …...

js 清空数组的方法

1、直接赋值空数组 let array [1, 2, 3, 4, 5]; array []; 这种方法并不推荐,如下图所示: 虽然a数组确实变为了空数组,但这种方法只是修改了a的指向,把a指向一个新的空数组,然而[1,2,3,4,5]这个数组并没有被清除&a…...

QT中使用QProcess执行命令,实时获取数据,例如进度条

前言 因为之前写了一个接收和发送文件的脚本&#xff0c;然后又需要获取进度&#xff0c;同步到进度条中。 效果&#xff1a; 使用正则匹配&#xff0c;获取命令行命令中的以下数据&#xff0c;然后同步到进度条 源码demo&#xff1a; 非完整代码&#xff1a; #include <Q…...

绘图设计:用Draw.io绘制图形技巧大全(含统一建模语言UML模板)

一、常见UML模板 1.流程图 2.用例图 include是包含关系&#xff0c;extend是扩展关系 简而言之&#xff0c;include是子集指向父集&#xff1b;而extend是扩展用例指向基础用例&#xff08;基础用例可以理解为系统核心功能&#xff0c;扩展用例是可选的&#xff0c;不是必须…...

被唤醒的“第二十条”深入人心

近来张艺谋执导的电影《第二十条》&#xff0c;因为它与正在召开中的全国两会所发布的《最高人民法院工作报告》联系相当紧密&#xff0c;加之可免费收看&#xff0c;网民便相互转告&#xff0c;于是此信息条目立即冲上了网络热搜榜&#xff0c;观者如潮。因为最高人民法院工作…...

PHPInfo()信息泄漏原理以及修复方法

漏洞名称&#xff1a;PHPInfo信息泄漏、phpinfo()函数信息泄漏 漏洞描述&#xff1a; phpinfo()函数返回的信息中包含了服务器的配置信息&#xff0c;包括&#xff1a; 1&#xff09;PHP编译选项以及文件扩展名的相关信息&#xff1b; 2&#xff09;php的版本信息 3&#…...

202441读书笔记|《笠翁对韵》—— 金菡萏,玉芙蓉,酒晕微酡琼杏颊,香尘浅印玉莲双

202441读书笔记|《笠翁对韵》——金菡萏&#xff0c;玉芙蓉&#xff0c;酒晕微酡琼杏颊&#xff0c;香尘浅印玉莲双 《作家榜名著&#xff1a;笠翁对韵》作者李渔&#xff0c;霍俊明。是所有词句都有注音的一本书&#xff0c;轻松学不认识的字&#xff0c;非常朗朗上口的对偶词…...

006-v-model原理

v-model原理 简介v-model应用在输入框上v-model应用在组件上 简介 由 属性绑定(v-bind:value“searchText”) 配合 input事件监听(v-on:input“searchText event.target.value”) 实现。 应用在组件上由 props: {value: xxx } &#xff0c;this.$emit(‘input’, xxx ) 完成。…...

Ubuntu下使用DAPLink(OpenOCD)

目录 1. 下载OpenOCD源代码 2. 编译代码 2.1 运行bootstrap 2.2 安装关联库 2.3 运行./configure 2.4 运行make 2.5 运行sudo make install 3. 烧录程序 3.1 挂起MCU 3.2 写入镜像 3.3 校验镜像 通过OpenOCD实现&#xff0c;在Ubuntu18 64bit下验证。 1. 下载OpenOC…...

C# 中 Math.Round 数学函数

在 C# 中&#xff0c;Math.Round 是一个数学函数&#xff0c;用于对一个浮点数进行四舍五入操作。它接受一个浮点数作为输入&#xff0c;并返回一个最接近输入值的整数或指定小数位数的浮点数。 Math.Round 方法有多个重载&#xff0c;其中最常用的重载有以下两种形式&#xf…...

力扣---接雨水---单调队列

题目&#xff1a; 单调队列思想&#xff1a; 没有思路的小伙伴可以先把这个想清楚哦&#xff1a;力扣hot10---大根堆双端队列-CSDN博客 从上面的图就可以发现&#xff0c;如果柱子呈递减序列&#xff0c;那么不会接到雨水&#xff0c;只要有一个小凸起柱子&#xff0c;那么这个…...

微分学<4>——微分中值定理

索引 微分中值定理极值定义4.1 极大(小)值定理4.1 Fermat引理定理4.2 Rolle定理 Lagrange中值定理定理4.3 Lagrange中值定理定理4.4 Cauchy中值定理 导数对函数性质的刻画Jensen不等式 微分中值定理 极值 定义4.1 极大(小)值 若存在 x 0 x_{0} x0​的邻域 U ( x 0 , δ ) U\…...

FPGA的时钟资源

目录 简介 Clock Region详解 MRCC和SRCC的区别 BUFGs 时钟资源总结 简介 7系列FPGA的时钟结构图&#xff1a; Clock Region&#xff1a;时钟区域&#xff0c;下图中有6个时钟区域&#xff0c;用不同的颜色加以区分出来 Clock Backbone&#xff1a;从名字也能看出来&#x…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...