mysql 日志总结

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.hqwc.cn/news/109374.html

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

相关文章

GcExcel:Java 应用创建、修改和保存 Excel 电子表格 -Crack

在 Java 应用程序中创建、修改和保存 Excel 电子表格: GrapeCity Documents for Excel,Java 版 (GcExcel) 是一个高速 Java Excel 电子表格 API 库,不需要依赖于 Microsoft Excel。用户可以通过 Java 应用程序以编程方式创建、编辑、导入和导…

供应商整合对企业有哪些好处?

企业采购总是希望降低成本,赢得更多的利润。实现这目标的其中一种方法就是供应商整合。 究竟什么是供应商整合?整合供应商有哪些好处?本文为你详细解答。 什么是供应商整合? 供应商整合是减少特定产品或服务的供应商数量的过程。…

Pdf文件签名检查

如何检查pdf的签名 首先这里有一个已经签名的pdf文件&#xff0c;通过pdf软件可以看到文件的数字签名。 下面就是如何代码检查这里pdf文件的签名 1.引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId&g…

20230915-DBeaver 23.2.0 版本提取mybatis注解版内容未开启

1、21.2.1版本的是可以的直接提取sql的&#xff0c;例如 复制mybatis 注解版中的script中的内容到dbeaver的编辑器中会自动帮我们将多余的符号去除 Select("<script>" "SELECT * FROM book a1\r\n" "WHERE DATE_FORMAT(a1.date, %Y-%m-%d) #…

第31章_瑞萨MCU零基础入门系列教程之WIFI蓝牙模块驱动实验

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取&#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总&#xff1a; ht…

芯片设计流程

VLSI 代表超大规模集成&#xff08;Very Large Scale Integration&#xff09;&#xff0c;这是一种通过将数百万个晶体管集成到单个芯片中来创建集成电路 (IC) 的技术。超大规模集成电路技术可以生产出紧凑、功能强大且低成本的微处理器、存储芯片、数字信号处理器和其他先进电…

人脸识别三部曲

人脸识别三部曲 首先看目录结构图像信息采集 采集图片.py模型训练 训练模型.py人脸识别 人脸识别.py效果 首先看目录结构 引用文121本 opencv │ 采集图片.py │ 训练模型.py │ 人脸识别.py │ └───trainer │ │ trainer.yml │ └───data │ └──…

React总结1

3 React技术 React是Facebook于2013年开源的框架。React解决的是前端MVC框架中的View视图层的问题。 3.1 Virtual DOM* DOM&#xff08;文档对象模型Document Object Model&#xff09; 将网页内所有内容映射到一棵树型结构的层级对象模型上&#xff0c;浏览器提供对DOM的支…

62、SpringBoot 使用RestTemplate 整合第三方 RESTful 服务

这节的要点&#xff1a; 就是弄两个项目 &#xff0c; 从 端口9090 这个项目&#xff0c;通过 restTemplate&#xff0c; 去访问 端口8080 的项目&#xff0c;并获取8080项目的数据。 ★ RESTful服务包含两方面的含义 1. 自己的应用要暴露一些功能供别人来调用。此时我们是服…

Linux基本认识

一、Linux基本概念 Linux 内核最初只是由芬兰人林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统&#xff0c;是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多…

摄像头:输出图像YUV格式理论知识

本篇文章主要记录一下camera2输出摄像头的编码格式&#xff0c;及数据之间转换。本文章参考链接&#xff1a; https://blog.csdn.net/qq_39312146/article/details/129252235。 http://www.360doc.com/content/21/0522/14/17136639_978452591.shtml 只为了记录使用。 一、Came…

管理方法论:5. 团队发展的阶段模型——调整管理策略

概念 布鲁斯塔克曼(Bruce Tuckman)提出团队发展阶段模型。 团队发展的五个阶段是&#xff1a;组建期&#xff08;Forming&#xff09;、激荡期&#xff08;Storming&#xff09;、规范期&#xff08;Norming&#xff09;、执行期&#xff08;Performing&#xff09;和休整期&…