mysql8.0-日志

news/2024/3/29 17:24:16/文章来源:https://blog.csdn.net/weixin_58297531/article/details/129208179

目录

错误日志

 错误日志主要记录如下几种日志:

查询日志

测试

慢查询日志

二进制日志

日志格式

日志查看

修改日志格式

 二进制日志的删除

二进制日志的还原


错误日志

        错误日志是MySQL中最重要的日志之一,它记录了当mysql启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息

        当数据库出现任何故障导致无法正常使用时,建议首先查看此日志

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

show variables like '%log_error%';   

# show variables:查看系统变量

# like:模糊匹配

 错误日志主要记录如下几种日志:

  • 服务器启动和关闭过程中的信息
  • 服务器运行过程中的错误信息
  • 时间调度器运行一个时间时产生的信息
  • 在从服务器上启动从服务器进程时产生的信息

查询日志

        查询日志主要记录了用户的怎删改查操作,与DDL(create,drop,alter)语句

        查询日志记录了客户端的所有操作语句,而二进制日志不包含查询数据的SQL语句。默认情况下,查询日志是未开启的,如果需要开启查询日志,可以设置以下配置

        第一步:查看日志是否开启

show variables like '%general_log%';

        第二步:进入配置文件 /etc/my.cnf 进行开启,添加如下内容 

# 该选项用来开启查询日志;1表示开启,0表示关闭。
general_log=1
# 设置日志的文件名,如果没有指定,默认的文件名为hostname.log
general_log_file=general_log_file=/var/lib/mysql/mysql_query.log

         第三步,重启MySQL服务

[root@bogon ~]# systemctl restart mysqld.service

测试

# 使用 tail -f 实时刷性查询日志的内容

tail -f /var/lib/mysql/mysql_query.log

        打开另一个终端,进入数据库输入查询语句,并观察mysql_query.log文件的变化

# 显示所有数据库

mysql8.0.32 [(none)]>show databases;

#使用chap01数据库

mysql8.0.32 [(none)]>use chap01;

# 查看chap01数据库中的所有得表

mysql8.0.32 [chap01]>show tables;

# 查询score表中的所有数据

mysql8.0.32 [chap01]>select * from score

         

慢查询日志

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

 show variables like '%slow_query_log%';

         开启慢查询日志

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

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

二进制日志

        二进制日志(BINLOG)记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不包括数据查询(SELECT,SHOW)。

        作用

  • 灾难时的数据恢复
  • MySQL的主从复制(主从复制的底层原理就是基于二进制日志),在MySQL8版本中,默认二进制是开启的,涉及到的参数如下:

show variables like '%log_bin%';

 /var/lib/mysql/binlog        # 日志文件

/var/lib/mysql/binlog.index  # 记录的是日志文件的索引内容,记录了当前二进制文件关联的文件有哪些

        查看日志文件

 [root@bogon ~]# cd /var/lib/mysql
[root@bogon mysql]# ll    # ll是ls -l的缩写

日志格式

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

  • STATMMENT:基于SQL语句的日志记录,记录的是SQL语句,对数据进行修改的SQL都会记录在日志文件中
  • ROW:基于行的日志记录,记录的是每一行的数据变更(默认)
  • MINED:混合STATEMENT和ROW两种格式,默认采用STATEMENT,在某些特殊情况下会自动切换为ROW进行记录

show variables like '%binlog_format%';

日志查看

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

mysqlbinlog [参数选项] logfilename

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

修改日志格式

        进入mysql配置文件;/etc/my.cnf

[root@bogon mysql]# vim /etc/my.cnf

binlog_format=STATMMENT

 二进制日志的删除

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

  • reset master:删除全部的binlog日志,删除之后,日志编码,将从binlog.000001重新开始
  • purge master log to 'binlog.******':删除******编号之前的所有语句
  • purge master logs before 'yyyy mm dd hh24:mi:ss' :删除日志为"yyyy-mm-dd hh24:mi:ss"之前所产生的所有日志。

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

show variables like '%binlog_expire_ligs_seconds%'

二进制日志的还原

        可以使用mysqlbinlog恢复数据

mysqlbinlog [option] filename | mysql -u user -ppassword

选项:

  • --start-datetime、--stop-datetime指定恢复数据库的起始时间与结束时间
  • --start-position、--stop--position指定恢复数据的开始位置和结束位置

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

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

相关文章

【项目精选】基于Vue + ECharts的数据可视化系统的设计与实现(论文+源码+视频)

今天给小伙伴们推荐一款超优秀的全新Vue3.0大数据系统Vue3-bigData。 点击下载源码 vue3-bigdata 基于vue3.0echarts构建的可视化大屏图表展示系统。包括各种可视化图表及Vue3新API使用。 功能 柱状图、饼图、词云图、漏斗图 水球图、折线图 仪表盘、雷达图 矩形树图、关系…

基于Springboot+vue+协同过滤+前后端分离+智能图书推荐系统(用户,多商户,管理员)

技术栈: SpringBoot,SSM, MYSQL, Vue,Layui,JQUERY,HTML,CSS, JAVASCRIPT,前后台分离,日历控件,协同过滤(余弦函数)-基于用户过滤首页访问 http://localhost:8080/vue_gxhfztjxt管理员admin 123456商家 seller1 123456买家 user1 123456代码下载链接:https://pan.ba…

PowerAutomation获取邮件附件并删除这个邮件方法

这个文章是怎么来的呢?现在不是低代码开发平台启蒙阶段嘛?笔者也有幸在工作中进行了尝试,目前也已经在实际工作中结合Python进行了使用,当然,是可以提高IT的工作效率的。需求是这样的,想从公司的EBS平台报表…

行业观察 | SoC

本文对 SoC 进行不完全总结。 更新:2022 / 02 / 25 行业观察 | SoC总览概念组成周期原因产业链及市场上游下游产品厂商SoC V.S MCUMCUSoCMCU V.S SoC参考链接总览 概念 SoC 1‘ 2’ 3’ 4, 全称 System On Chip,又称 系统级芯片、片上系统&#xff0c…

Android 8请求权限时弹窗BUG

弹窗BUG 应用使用requestPermissions申请权限时,系统会弹出一个选择窗口,可进行允许或拒绝, 此窗口中有一个”不再询问“的选择框, ”拒绝”及“允许”的按钮。 遇到一个Bug,单点击“不再询问”,“允许”这个按钮会变…

数据结构与算法----问答2023

1、什么是哈希表?如何解决碰撞? 哈希表(Hash Table),也称为散列表,是一种用于实现字典(键值对)数据结构的数据结构。它将键映射到哈希表中的一个索引(桶)来保…

【离线数仓-8-数据仓库开发DWD层-交易域相关事实表】

离线数仓-8-数据仓库开发DWD层-交易域相关事实表离线数仓-8-数据仓库开发DWD层-交易域相关事实表一、DWD层设计要点二、交易域相关事实表1.交易域加购事务事实表1.加购事务事实表 前期梳理2.加购事务事实表 DDL表设计分析3.加购事务事实表 加载数据分析1.首日全量加购的数据加载…

mysys2+minGW方案编译ffmpeg的最佳实践

一、Win10 64bit编译环境的建立1)从http://www.msys2.org/下载 msys2-x86_64-xxx.exe2) 安装msys2到默认路径 C:\msys64\3) 运行MSYS2 w644)执行 pacman -Syu 更新系统当出现提示时,选择y5) 当窗口关闭时,重…

【unity游戏制作-mango的冒险】场景二的镜头和法球特效跟随

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏:unity游戏制作 ⭐mango的冒险场景二——镜头和法球特效跟随⭐ 文章目录⭐mango的冒险场景二——镜…

前端:分享JS中7个高频的工具函数

目录 ◆1、将数字转换为货币 ◆2、将 HTML 字符串转换为 DOM 对象 ◆3、防抖 ◆4、日期验证 ◆5、将 FormData(表单数据)转换为 JSON ◆6、衡量一个函数的性能 ◆7、从数组中删除重复项 JavaScript 实用函数是有用的、可重复使用的片段&#xff0…

Kotlin1.8新特性

Kotlin1.8.0新特性 新特性概述 JVM 的新实验性功能:递归复制或删除目录内容提升了 kotlin-reflect 性能新的 -Xdebug 编译器选项,提供更出色的调试体验kotlin-stdlib-jdk7 与 kotlin-stdlib-jdk8 合并为 kotlin-stdlib提升了 Objective-C/Swift 互操作…

FL StudioV21电脑版水果编曲音乐编辑软件

这是一款功能十分丰富和强大的音乐编辑软件,能够帮助用户进行编曲、剪辑、录音、混音等操作,让用户能够全面地调整音频。FL水果最新版是一款专业级别的音乐编曲软件,集合更多的编曲功能为一身,可以进行录音、编辑、制作、混音、调…

5 KNN算法及Python实现

0 建议学时 2学时 1 KNN算法 1.1 KNN原理 KNN:K Nearest Neighbors,即K个最近的邻居; 预测一个新值xxx,根据距离最近的K个点的类别来判断xxx属于哪一类。 算法核心要点: K值的选取非常重要; 距离公式…

数学不好,英语不行,非本专业,可以学IT吗?

很多小伙伴,都会问小青一些比较类似的问题。比如:不是计算机专业的,可以学编程吗?数学一直就不好,可以转行学IT吗?学编程开发,对英语的的要求会不会很高?01计算机不是计算机专业的&a…

【Arduino 无刷电机控制教程】

【Arduino 无刷电机控制教程】 1. 概述2. 试验准备3. 实验原理4. Arduino 无刷电机控制 – 电路图4.1 实验组件4.2 用于 BLDC 电机控制的 Arduino 代码5. 实验验证5.1 电位计控制无刷电机速度5.2 电调校准在本教程中,我们将学习如何使用 Arduino 和 ESC 控制无刷电机。如果您想…

(三)代表性物质点邻域的变形分析

本文主要内容如下:1. 伸长张量与Cauchy-Green 张量2. 线元长度的改变2.1. 初始/当前构型下的长度比2.2. 主长度比与 Lagrange/Euler 主方向2.3. 初始/当前构型下任意方向的长度比3. 线元夹角的改变4. 面元的改变5. 体元的改变1. 伸长张量与Cauchy-Green 张量 由于变…

ABAP 辨析CO|CN|CA|NA|CS|NS|CP|NP

1、文档说明 本篇文档将通过举例,解析字符的比较运算符之间的用法和区别,涉及到的操作符:CO|CN|CA|NA|CS|NS|CP|NP 2、用法和区别 用法总览 以下举例,几乎都使用一个字符变量和一个硬编码字符进行对比的方式,忽略尾…

刚上岸字节测试开发岗,全网最真实的大厂面试真题

首先我来解释一下为什么说是全网最真实的面试题,相信大家也发现软件测试面试题在网上流传也已不少,但是经过仔细查看发现了两个很重要的问题。 第一,网上流传的面试题的答案并不能保证百分百正确。也就是说各位朋友辛辛苦苦花了很多时间准备…

【数据结构趣味多】Map和Set

1.概念及场景 Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。 在此之前,我还接触过直接查询O(N)和二分查询O(logN),这两个查询有很多不足之出,直接查询的速率太低,而二分查…

Servlet笔记(11):Servletcontext对象

1、什么是ServletContext ServletContext是一个全局储存空间,随服务器的生命周期变化, Cookie,Session,ServletContext的区别 Cookie: 存在于客户端的本地文本文件 Session: 存在于服务器的文本文件&#…