mysql 日志总结

news2024/11/24 18:29:19

mysql 根据日志的功能,分6种

  1. 慢查询日志:记录所有执行时间超过 long_query_time 的所有查询,方便我们对查询进行优化
  2. 通用查询日志:记录所有连接的起始时间和终止时间,以及连接发送给数据库服务器的所有指令,
    对我们复原操作的实际场景、发现问题、设置是对数据库操作的审计都有很大的帮助
  3. 错误日志:记录mysql服务的启动、运行或停止mysql服务时出现的问题,方便我们了解服务器的状态,从而对服务器进行维护
  4. 二进制日志:记录所有**更改(delete、update)**数据的语句,可以用于主从服务器之间的数据同步,
    以及服务器遇到故障时数据 的无损恢复
  5. 中继日志:用于主从服务器架构中,从服务器用来存放主服务二进制日志内容的一个中间文件。
    从服务器通过读取中继日志的内容,来同步主服务器上的操作
  6. 数据定义语句日志:记录数据定义语句执行的元数据操作

除二进制日志外,其他日志都是文本文件默认情况下,所有日志创建于mysql数据目录

日志的弊端

  1. 日志功能会降低mysql数据库的性能:例如,在查询非常频繁的mysql数据库系统中,如果开启了通过查询日志和慢查询日志,mysql数据库会花费很多时间记录日志

  2. 日志会 占用大量的磁盘空间:对于用户量非常大、操作非常频繁的数据库,日志文件需要的存储空间设置比数据库文件需要的存储空间还要大

日志的刷新(包含所有种类的日志,若默认名称的日志不存在了,会重新生成一个。前提对应的日志要开启)

mysqladmin -uroot -p flush-logs;

linux系统有时日志刷新报错解决方案
在这里插入图片描述
需要先执行 instal -omysql -gmysql -m0644 /dev/null /var/log/mysqld.log

慢查询日志 slow query log

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通用查询日志 general query log

通过查询日志用来记录用户的所有操作,包括启动和关闭mysql服务、所有用户的连接开始时间和截止时间、发给mysql数据库服务器的所有sql指令等。当我们的数据库发生异常,查看通用查询日志,还原操作时的具体场景。
默认是关闭的。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

错误日志 error log

在mysql数据库中,错误日志功能是默认开启的,而且,错误日志无法被禁止
默认情况下,错误日志存储在mysql数据库的数据文件下,名称默认为mysqld.log(linux系统) Windows 系统 是hostname.err
如果需要定制文件名,则需要在my.cnf 或my.ini 中配置:

[mysqld] ## 分组
log-error=[path/[filename]] # path 为日志文件所在的目录路径,filename为日志文件名

show variables like ‘%log_error%’;
在这里插入图片描述

二进制日志 又称变更日志 binary log 简称 bin log

binlog 作用
1. 数据恢复
2.主从复制

在这里插入图片描述
在这里插入图片描述

show variables like’%log-bin%';
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
日志参数设置

方式1 永久性方式 linux my.cnf windows my.ini
[mysqld]
log-bin=[path/]basename ##路径省略 默认是 mysql安装的数据路径 在这里插入图片描述
binlog_expire_logs_seconds=60s
max_binlog_size=100M
在这里插入图片描述

在这里插入图片描述
查看日志
在这里插入图片描述

show binary logs;
在这里插入图片描述
binlog 2种格式
在这里插入图片描述

**mysqlbinlog 工具查看 **

在binlog日志所在路径,cmd
mysqlbinlog -v 日志文件
在这里插入图片描述
**show binlog events 工具查看 **
show binlog events [in ‘log_name’] [from pos] [limit [offset,] row_count]
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在恢复数据之前 要刷新日志 flush logs,因为恢复数据,也会产生binlog日志, 刷新之后,恢复数据操作会记录在新的日志文件中

flush logs;
mysql数据库文件 cmd
从position 恢复 选了 show binlog events 查看日志方式
mysqlbinlog --start-position=xx --stop-position=xxxx --database=数据库名 日志文件 | mysql -uroot -p密码 -v 数据库名
在这里插入图片描述
根据时间戳 恢复 mysqlbinlog
mysqlbinlog --start-datetime=‘2023-01-01 15:39:22’ --stop-datetime=‘2023-01-01 15:40:00’–database=数据库名 日志文件 | mysql -uroot -p密码 -v 数据库名

删除二进制日志

mysql 的二进制文件可以配置自动删除如下:
在这里插入图片描述
同时mysql也提高了安全的手动删除二进制文件的方法。purge master logs 只删除指定部分的二进制日志文件,Rest master 删除所有的二进制日志文件。
** purge master logs** 删除指定日志文件

purge {master | binary } logs TO ‘指定日志文件名’
purge master logs ‘xxxxlog.0000xx’; 删除xxxxlog.0000xx之前创建的所有日志不包自身
purge {master | binary } logs before ‘指定日期’
show binary logs ; 信息中没有日期,需要借助 mysqlbinlog 工具
mysqlbinlog --no-defaults “日志文件名”
purge master logs before “20230915”;20230915之前创建的日志文件会被删除。 不包含本身
在这里插入图片描述

在这里插入图片描述

** reset master 删除所有二进制日志文件 **

reset master
使用 reset master 语句,清空所有的binlog日志。 mysql同时会重新创建二级制文件,新的日志文件扩展名 将重新
从 xxx.00001 开始编号

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

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

相关文章

Junit单元测试异常处理方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Junit单元测试异常处理方法 前言案例准备一、类方法内处理异常二、测试方法中处理异常1.try/catch/finally 语句2.Test(expected)3.ExpectedException 前言 提示&#xff1a…

【C语言】指针和数组笔试题解析(2)

【C语言】指针和数组笔试题解析(1), 这是第一篇关于sizeof与strlen在指针中的应用,而这一篇主要讲解在各种情形下的灵活运用,也是大厂中经典的面试题 第一题: int main() {int a[5] { 1, 2, 3, 4, 5 };in…

开始在 Windows 上使用 Next.js

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 必备条件 安装 Next.js 本指南帮助你安装 Next.js Web 框架并在 Windows 上启动和运行。 Next.js 是一个框架&…

利用idea新创建maven项目时的一些基本配置

1.修改项目默认的maven仓库 file->Settings->Build 2.设置项目的jdk版本 设置完点OK即可。 同样的我们还需要在项目配置中进行修改。 通过以上设置一般就可以解决jdk版本不兼容地方问题。

详细解释HiveSQL执行计划

一、前言 Hive SQL的执行计划描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执行逻辑也就能更好地把握程序出现的瓶颈点,从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其…

Redis 高性能设计之epoll和IO多路复用深度解析

I/O多路复用模型是什么 I/O:网络I/O多路:多个客户端连接(连接就是套接字描述符,即socket或者channel),指的是多条TCP连接复用:用一个进程来处理多条的连接,使用单进程就能的够实现同…

【Linux系统编程】操作系统的概念、定位 及系统调用

文章目录 前言1. 操作系统的概念和定位2. 如何理解“管理”3. 操作系统为什么要做管理4. 系统调用和库函数概念5. 局部性原理6. 计算机体系结构 前言 上一篇文章我们学习了冯诺依曼体系结构(属于计算机硬件的范畴),其中我们提到,因…

c++静态成员变量与静态成员函数

一、静态成员变量 1、说明 1.1、所有对象共享同一份静态变量 1.2、编译阶段分配内存 1.3、类内声明,类外初始化操作 静态成员变量,不属于某个具体的类对象,多有的类对象共享同一份数据 因此静态成员变量有两种方式访问 2、…

阿里云大数据实战记录10:Hive 兼容模式的坑

文章目录 1、前言2、什么是 Hive 兼容模式?3、为什么要开启 Hive 模式?4、有什么副作用?5、如何开启 Hive 兼容模式?6、该场景下,能不能不开启 Hive 兼容模式?7、为什么不是DATE_FORMAT(datetime, string)&…

【小记录】jupyter notebook新版本

手欠升级 😅今天手贱,在anaconda navigator里面更新了最新版本的spyder,然后莫名奇妙地jupyter notebook就打不开了😅,报错说缺少模块”ModuleNotFoundError: No module named jupyter_server.contents“,…

给微信小程序添加隐私协议

前些日子,微信官方针对用户的安全信息又进行了增强,这次更新几乎要求所有的小程序都需要进行整改,只要是涉及到用户的隐私的小程序都需要进行整改,这次整改是强制性的。 点开相关指引之后会跳转到下面的链接:参考链接…

解决php导出excel中小数尾部0不显示的问题

调整代码前: 新增代码: //小数避免末尾0不显示的问题 foreach ($list as &$line) {foreach ($line as &$column) {if (is_numeric($column) && strpos($column, .)!false) {$column " {$column} ";}} } 效果&#xf…

【【萌新的riscV的学习之关于risc指令集的学习使用总五】】

萌新的riscV的学习之关于risc指令集的学习使用总五 opcode(操作码) 指令的基本操作 rd目的操作数寄存器 用来存放操作结果 funct3 一个另外的操作码字段 rs1: 第一个源操作数寄存器 rs2: 第二个源操作数寄存器 funct7: 一个另外的操作码字段 还有一种I型…

ApplicationContext实现

基于classpath下的xml格式的配置文件来创建bean对象 java代码 package com.example;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.context.support.Fi…

力扣刷题班 第3课 02-分治与回溯算法

分治(例题1)九键电话号码的字母组合 电话号码的字⺟组合 给定⼀个仅包含数字 2-9 的字符串,返回所有它能表示的字⺟组合。答案可以按 任意顺序 返回。 给出数字到字⺟的映射如下(与电话按键相同)。注意 1 不对应任何字…

【计算机视觉】Image Feature Extractors方法介绍合集(二)

文章目录 一、Mixed Depthwise Convolution二、Deformable Kernel三、Dynamic Convolution四、Submanifold Convolution五、CondConv六、Active Convolution七、Depthwise Dilated Separable Convolution八、Involution九、Dilated convolution with learnable spacings十、Att…

Elastic Stack 8.10:更简单的跨集群搜索和身份验证等等

作者:Tyler Perkins, Gilad Gal, Shani Sagiv, George Kobar, Michael Peterson, Aris Papadopoulos Elastic Stack 8.10 增强了跨集群和向量搜索、数据摄取、Kibana 和云注册。 配置远程搜索时获得更大的灵活性,并提供更多信息来分类问题,…

小白备战大厂算法笔试(八)——搜索

搜索 二分查找 二分查找是一种基于分治策略的高效搜索算法。它利用数据的有序性,每轮减少一半搜索范围,直至找到目标元素或搜索区间为空为止。 Question: 给定一个长度为n的数组 nums ,元素按从小到大的顺序排列,数组…

git基本手册

Git and GitHub for Beginners Tutorial - YouTube Kevin Stratvert git config --global user.name “xxx” git config --global user.email xxxxx.com 设置默认分支 git config --global init.default branch main git config -h查看帮助 详细帮助 git help config 清除 cl…

计网第五章(运输层)(二)(端口号、复用和分用)

一、端口号 (1)基本概念 在上部分(计网第五章(运输层)(一)_永无魇足的博客-CSDN博客)提到运输层用不同的端口对应不同的应用进程。 端口就是用来区分不同应用进程的标识符。 每个…