当前位置: 首页 > 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…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)

第一篇&#xff1a;Liunx环境下搭建PaddlePaddle 3.0基础环境&#xff08;Liunx Centos8.5安装Python3.10pip3.10&#xff09; 一&#xff1a;前言二&#xff1a;安装编译依赖二&#xff1a;安装Python3.10三&#xff1a;安装PIP3.10四&#xff1a;安装Paddlepaddle基础框架4.1…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...