MySQL—日志

news2024/10/7 16:27:10

文章目录

    • 一、错误日志
    • 二、二进制日志
      • 2.1 介绍
      • 2.2 格式
      • 2.3 查看
      • 2.4 删除
    • 三、查询日志
    • 四、慢查询日志

一、错误日志

错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。

该日志是默认开启的,默认存放目录 /var/log/,默认的日志文件名为 mysqld.log 。查看日志位置:

show variables like '%log_error%';

在这里插入图片描述


查看该文件:
在这里插入图片描述
模拟一下错误:
我们可以通过 tail -f 实时查看一个文件内的更新信息
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
所以我们可以定位到这个文件auto.cnf
正常启动成功,错误日志中就不会有error信息了

二、二进制日志

2.1 介绍

二进制日志(BINLOG)记录了所有的 DDL(数据定义语言,相当于就是建库建表语句)语句和 DML(数据操纵语言,就是增删改)语句,但不包括数据查询(SELECT、SHOW)语句。

作用:①灾难时的数据恢复;②MySQL的主从复制。

在MySQL8版本中,默认二进制日志是开启着的,涉及到的参数如下:

show variables like '%log_bin%';

在这里插入图片描述
参数说明:

  • log_bin_basename:当前数据库服务器的binlog日志的基础名称(前缀),具体的binlog文件名需要再该basename的基础上加上编号(编号从000001开始)。
  • log_bin_index:binlog的索引文件,里面记录了当前服务器关联的binlog文件有哪些。
    在这里插入图片描述
    在这里插入图片描述

2.2 格式

MySQL服务器中提供了多种格式来记录二进制日志,具体格式及特点如下:

日志格式含义
STATEMENT基于SQL语句的日志记录,记录的是SQL语句,对数据进行修改的SQL都会记录在日志文件中。
ROW基于行的日志记录,记录的是每一行的数据变更。(默认)简单来说就是每条记录的+1,-1这种操作
MIXED混合了STATEMENT和ROW两种格式,默认采用STATEMENT,在某些特殊情况下会自动切换为ROW进行记录。
show variables like '%bin_format%';

在这里插入图片描述
如果我们需要配置二进制日志的格式,只需要在 /etc/my.cnf 中配置 binlog_format 参数即可。

vim /etc/my.cnf
## 添加或者修改
binlog_format=SEATEMENT

## 重启mysqld
systemctl restart mysqld

2.3 查看

由于日志是以二进制方式存储的,不能直接读取,需要通过二进制日志查询工具 mysqlbinlog 来查看,具体语法:

mysqlbinlog [ 参数选项 ] logfilename

参数选项:

  • -d 指定数据库名称,只列出指定的数据库相关操作。
  • -o 忽略掉日志中的前n行命令。
  • -v 将行事件(数据变更)重构为SQL语句
  • -vv 将行事件(数据变更)重构为SQL语句,并输出注释信息

直接查看是看不到我们想看到的上一步update语句的,需要带上-v选项
在这里插入图片描述
这样就能看到了
在这里插入图片描述

2.4 删除

对于比较繁忙的业务系统,每天生成的binlog数据巨大,如果长时间不清除,将会占用大量磁盘空间。可以通过以下几种方式清理日志:

指令含义
reset master删除全部 binlog 日志,删除之后,日志编号,将从 binlog.000001重新开始
purge master logs to’binlog.*’删除 * 编号之前的所有日志
purge master logs before’yyyy-mm-dd hh24:mi:ss’删除日志为 “yyyy-mm-dd hh24:mi:ss” 之前产生的所有日志

也可以在mysql的配置文件中配置二进制日志的过期时间,设置了之后,二进制日志过期会自动删除。
查看过期时间:

show variables like '%binlog_expire_logs_seconds%';

在这里插入图片描述
大概能保存300天:
在这里插入图片描述

三、查询日志

查询日志中记录了客户端的所有操作语句(所有的增删改查语句),而二进制日志不包含查询数据的SQL语句。默认情况下,查询日志是未开启的。

show variables like '%general%';

在这里插入图片描述

如果需要开启查询日志,可以修改MySQL的配置文件/etc/my.cnf文件,添加如下内容:

#该选项用来开启查询日志 , 可选值 : 0或者1 ;;; 0 代表关闭,1 代表开启
general_log=1
#设置日志的文件名 , 如果没有指定, 默认的文件名为 host_name.log
general_log_file=mysql_query.log

记住要重启mysqld服务

开启了查询日志之后,在MySQL的数据存放目录,也就是 /var/lib/mysql/ 目录下就会出现mysql_query.log 文件。之后所有的客户端的增删改查操作都会记录在该日志文件之中,长时间运行后,该日志文件将会非常大。

在这里插入图片描述
多出来了个查询日志文件:
在这里插入图片描述
tail -f 查看:
在这里插入图片描述

四、慢查询日志

慢查询日志记录了所有执行时间超过参数 long_query_time 设置值并且扫描记录数不小于min_examined_row_limit 的所有的SQL语句的日志,默认未开启。long_query_time 默认为10 秒,最小为 0, 精度可以到微秒。

如果需要开启慢查询日志,需要在MySQL的配置文件 /etc/my.cnf 中配置如下参数:

#慢查询日志
slow_query_log=1
#执行时间参数
long_query_time=2

意思是超过2s就算慢查询

默认情况下,不会记录管理语句,也不会记录不使用索引进行查找的查询。可以使用log_slow_admin_statements和更改此行为 log_queries_not_using_indexes,如下所述:

#记录执行较慢的管理语句
log_slow_admin_statements =1
#记录执行较慢的未使用索引的语句
log_queries_not_using_indexes = 1

在这里插入图片描述
注意会默认生成一个localhost-slow.log文件
在这里插入图片描述

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

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

相关文章

铿锵玫瑰 别样绽放

-----衢州首支飞盘女队成立 5月15日在一个火热既温馨的下午,在衢州市衢江区社会组织服务中心“馨满益足”女工服务站里。首批优秀女性代表集聚一堂举行了衢州铿锵玫瑰飞盘女队沙龙。至此衢州首支飞盘女队正式落地,这支队伍将在今后参加各类女子飞盘比赛…

DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小

原文:DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小,点击链接查看更多技术内容。 动态共享包(HSP)开发是DevEco Studio 3.1 Release版本带来的新特性,基于新的编译方式&#xff…

gpt接口新增配额控制

工作内容,不对外开放 场景: 用户使用gpt时会消耗token,我们要求能够在某个地方配置gpt限额,gpt限额有全局限额也有个人配置的限额, 先配置一个默认的全局的限额(所有用户gpt3.5每个月不能超过1000,每天不能超过500,每个小时不能超过100), 用户可以配置用户的限额(该…

RoyalScope-总线工作状况和信号质量“体检”

海量存储、洞悉细微 无间断连续采样、波形和报文记录 内置100MHz示波器,采样率高达100MS/s,精确查看、分析和统计信号波形细节。 无间断连续采样总线上信号,全部无遗漏的解析成报文(包括数据帧、遥控帧、过载帧、错误帧、帧间隔和错误报文)和…

matlab绘制任意位置方位的圆锥

1.前记: 使用surf函数实现指定顶点,圆锥半径,高度的圆锥。 2.代码 为了实现任意位置和方位,使用机器人系统工具箱函数getTransform计算机器人末端正运动的齐次矩阵结果并将其位置和方位赋予要画的圆锥体上。 运行函数&#xff1…

springboot+java博物馆文物管理系统

用户前台进入系统可以进行首页、文物信息、论坛交流、文物资讯、留言反馈、我的、跳转到后台等springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最…

bug:nodepad++安装hex Editor插件闪退

bug:nodepad安装hex Editor插件闪退 解决办法: 查看是否是自己的hex Editor版本下载错了(x86对应x86、x64对应x64)如果nodepad版本是v7.6.4,则需要安装0.9.9的hex Editor 0.9.9 winx64版本:https://github.…

一年换 3 份工作,在家躺平半年了!

见字如面,我是军哥! 还记得,我之前写的这篇《三年换 3 份工作,再也找不到工作了!》文章?上周有一位读者在这篇文章下留言,说自己去年一年换了 3 份工作,目前在家躺了半年了&#xff…

ML | 4.朴素贝叶斯

基于概率论的分类方法:朴素贝叶斯 文章目录 基于概率论的分类方法:朴素贝叶斯概述条件概率贝叶斯公式 朴素贝叶斯分类器2个假设Example:文本分类欢迎关注公众号【三戒纪元】 概述 朴素贝叶斯可以处理多类别问题,在数据较少的情况下仍然有效&…

加速度传感器的量程估算

在测震动和噪声的场合,现有的加速度传感器,需要客户提供加速度值的大致区间。这个值该怎么计算呢?它几乎完全与被测信号的频率有关。因为所有的信号,按照频域展开的视角,都会简化为一个个正弦波。对于正弦波有这样的属…

亚马逊云科技新增功能:在一个位置设置您的亚马逊云科技通知

5月5日,亚马逊云科技发布AWS User Notifications,这是在亚马逊云科技管理控制台中设置和查看多个亚马逊云科技账户、区域和服务的亚马逊云科技通知的单一位置。 可以以一致、人性化的格式集中设置和查看来自100多项亚马逊云科技服务的通知,…

什么是语音识别的智能客服?

前言 随着人工智能技术的不断发展,语音识别技术越来越成熟,语音技术的应用也越来越广泛。智能客服是其中一个应用领域,它通过语音识别技术,将用户的语音输入转换为文本,并通过自然语言处理技术,解决用户的…

数据库的恢复技术

更好的阅读体验 存储器结构 分类 1、易失性存储器:内存、高速缓冲存储器 2、非易失性存储器:磁盘、磁带 3、稳定存储器:理想的存储器,其中信息永不丢失 稳定存储器的实现 要实现稳定存储器,就要在多个非易失性存储…

32从零开始学Java之方法传参到底是值传递还是引用传递?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在上一篇文章中,壹哥给大家讲解了方法的定义、调用和返回值,但方法的内容还有…

如何避免在Facebook群组中过度营销?

在社交媒体时代,Facebook群组已经成为了企业宣传的热门渠道之一。然而,很多企业在使用Facebook群组进行宣传时,都会犯一个很容易被忽视的错误——过度营销。 过度营销不仅会让Facebook群组的成员感到反感,甚至还会让管理员将你的帖…

如何进行TCP抓包调试?

网络调试工具——Wireshark Wireshark 是世界上应用最广泛的网络协议分析器,它让我们在微观层面上看到整个网络正在发生的事情。 Wireshark 本身是一个开源项目,所以也得到了很多志愿者的支持。同时,Wireshark 具有丰富的功能集,…

基于短时傅里叶变换的同步压缩变换原理和Matlab代码

基于短时傅里叶变换的同步压缩变换原理 新的短时傅里叶变换(STFT)被定义为 考虑一个单分量信号 对相位 φ ( t ) \varphi (t) φ(t)进行泰勒展开,并丢弃二阶以及高阶项。 将上式带入STFT后,可得 关于上式对时间 t t t求导,得到关于瞬时频…

Transformer 估算 101

本文主要介绍用于估算 transformer 类模型计算量需求和内存需求的相关数学方法。 引言 其实,很多有关 transformer 语言模型的一些基本且重要的信息都可以用很简单的方法估算出来。不幸的是,这些公式在 NLP 社区中鲜为人知。本文的目的是总结这些公式&am…

20230518 美国知乎 Quora 旗下 Poe.com 上可以免费Claude试用 7 天。

🚀 美国知乎 Quora 旗下 Poe.com 上可以免费Claude试用 7 天。 最强竞品 Claude 最近实现了史诗升级,支持十万 token 上下文,并且可以处理英文书籍,但申请使用需要付费。 而在美国知乎 Quora 旗下 Poe.com 上可以免费试用 7 天。…

【密码产品篇】金融数据密码机密钥体系结构(对称密码体制)

【密码产品篇】金融数据密码机密钥体系结构(对称密码体制) 金融数据密码机采用基于"对称密码体制"的三层密钥体系结构;分别为"主密钥、次主密钥和数据密钥"三层。金融数据密码机中的密钥采用"自上而下逐层保护&quo…