mysql基础19——日志

news2024/9/25 19:17:49

日志

mysql的日志种类非常多

通用查询日志 慢查询日志 错误日志 与时间有关联

二进制日志 中继日志  与主从服务器的同步有关

 重做日志 回滚日志   与数据丢失有关

通用查询日志

记录了所有用户的连接开始时间和截至时间 以及给mysql服务器发送的所有指令

当数据异常时,开启通用查询日志,还原操作的具体场景 帮助定位问题

查看控制通用查询日志的系统变量
show variables like '%general';

系统变量general_log的值是off 关闭状态 默认关闭

通用查询日志的名称是zzz.log

开启通用查询日志
set global general_log='on';

指定通用查询日志的文件夹和名称
set global @@global.general_log_file='D:/test.log';

查看修改是否生效

查看通用查询日志

通用查询日志都是文本型的数据 使用记事本打开

为节省空间,移除旧的日志文件,创建新的日志文件,对通用日志文件进行维护:

首先 ,关闭通用查询日志  ;

然后 ,将通用查询日志文件移动到备份文件夹 空出磁盘空间 ;

最后,开启通用查询日志

慢查询日志   

my.ini文件  系统变量min_examined_row_limit

记录执行时间超过指定时长的查询 

数据库发生阻塞,运行变慢时,检查慢查询日志 找到那些慢查询 消耗了大量的系统资源  方便查询优化

慢查询日志是由mysql的配置文件控制的

错误日志

记录了mysql服务器启动,停止启动的时间以及系统启动,运行和停止过程中的诊断信息,包括错误,警告和提示等   方便了解服务器的状态,对服务器进行维护

数据库服务器发生系统故障时,错误日志是首选

错误日志是默认开启的 在mysql的配置文件’my.ini‘中配置


日志可以帮助找回由于误操作丢失的数据

比如二进制日志 中继日志 回滚日志(undo log) 重做日志(redo log)等

二进制日志

主要用于主从服务器之间的数据同步,以及服务器遇到故障时数据的无损失恢复

主要记录数据库的更新事件 比如创建数据表 更新表中的数据等

操作二进制日志

主要包括查看,刷新二进制日志,用二进制日志恢复数据以及删除二进制日志

查看二进制日志 (3种情况)

       a. 查看当前正在写入的二进制日志 ,名称以及当前写入的位置

show master status;

       b. 查看所有的二进制日志

show binary logs;

       c. 查看二进制日志中所有的数据更新事件

show binary events in 二进制文件名称;
 刷新二进制日志 

        关闭服务器正在写入的二进制日志文件,重新打开一个新文件 文件名的后缀在现有的基础上+1

flush binary logs;
 用二进制日志恢复数据

        执行二进制日志中从位置xxx开始,到yyy截至的所有数据的更新操作

mysqlbinlog -start-position=xxx --stop-position=yyy 二进制文件名 | mysql -u 用户 -p
删除二进制日志

         删除所有的二进制文件

reset master;

         删除指定二进制日志文件编号小的所有二进制日志文件

pug master logs to 'test-bin.00005';

中继日志

只在主从服务器架构的从服务器上存在

从服务器为与主服务器保持一致 要从 主服务器读取二进制内容 并把读取到的信息写入本地日志文件 从服务器读取中继日志根据中继日志的内容从服务器的数据进行更新 完成主从服务器的数据同步

从服务器本地的日志文件叫做中继日志

注:从服务器宕机 为了系统恢复 要重装操作系统时 如果服务器名称与之前不同 ,需要把从服务器的名称修改回之前的名称,因为中继日志的名称是包含之前的从服务器的名称的


回滚日志 (undo log)

事务执行的时候,回滚日志中记录了事务中每次数据更新前的状态

事务需要回滚的时候 可以通过读取回滚日志恢复指定的位置 

回滚日志可以让其他的事务读取到这个事务对数据更改之前的值,确保其他事务可以不受这个事务修改数据的影响

查看回滚日志的文件大小
show variables like '%innodb_max_undo_log_size%';

单个回滚日志最大可达1G字节存储空间

查看回滚日志所在的文件夹 是否自动截断  是否具有独立的表空间
show variables like '%innodb_undo%';

回滚日志的存储目录是数据目录(默认值) 数据目录的位置可以通过查询变量’datadir‘查看

回滚日志没有提前截断(默认值) 

回滚日志没有自己独立的表空间(默认值)

重做日志(redo log)

存储在磁盘上的一种日志文件  确保数值的持久性 防止数据更新丢失

作用

1)系统遇到故障恢复的时候 可以修复被未完成的事务修改的数据

2)为了提高数据的存取效率 数据更新先保存到内存中,再进行磁盘的读写; 但是停电或宕机时, 内存中保存的数据可能丢失 这时 通过读取重做日志中记录的数据更新操作 把没来的及写到磁盘上的数据更新写到磁盘上 保证数据的完整性

查看重做日志的文件夹和文件数量
show variables like '%innodb_log_files_in_group%';

有2个重做日志文件 该值的取值范围在1~4之间  这4个文件用于不同的操作

1 用户创建表时的插入操作

2 用户创建表的更新和删除操作

3 临时表的插入操作

4 临时表的更新和删除操作


总结

通过数据库的全量备份和二进制日志中保存的增量信息完成数据库的无损失恢复  但是数据量巨大 数据库和数据表很多 这种方法很有挑战性 因为起始位置不好找

这时,配置主从数据库服务器比较合适 把二进制日志文件写入到中继日志,进而同步到从数据库服务器中,可以有效避免数据库故障导致的数据异常等问题

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

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

相关文章

【Yolov系列】Yolov5学习(一)补充1.1:自适应锚框计算

1、Yolov5的网络结构 Yolov5中使用的Coco数据集输入图片的尺寸为640*640,但是训练过程的输入尺寸并不唯一,Yolov5可以采用Mosaic增强技术把4张图片的部分组成了一张尺寸一定的输入图片。如果需要使用预训练权重,最好将输入图片尺寸调整到与作…

实战 | 无视杀软使用远控工具进行横向移动Tips

实战 | 无视杀软使用远控工具进行横向移动Tips。 在有杀软拦截,CS无法上线的情况下,经常用到todesk和向日葵这两个远控工具进行横向移动。不过这两个工具现在好像不怎么好用了。不过无所谓,用其他的就是了,听说最近GotoHTTP很火&…

机器人实验室LAAS-CNRS介绍

一、LAAS-CNRS介绍 1、缩写介绍 同样的,给出英文缩写的全称,以便理解。这里的LAAS(Laboratory for Analysis and Architecture of Systems)指法国的系统分析与架构实验室,CNRS(Centre National de la Rec…

网络数据包嗅探器工具

组织的网络非常庞大,包含服务器、交换机、路由器和接入点等众多节点,由于许多资源和流量不断通过这些节点,因此很难确定大量流量是真实的还是安全攻击的迹象,了解和了解组织的网络流量至关重要,一个有用的资源是网络数…

vivado 自定义波形配置

自定义配置 您可使用下表中列示并简述的功能来自定义波形配置 ; 其中功能名称链接至提供功能完整描述的相应小节。 光标 光标主要用作为样本位置的临时指示符并且会频繁移动 , 比如测量 2 个波形边沿之间的距离 ( 以样本数为单位 &#x…

STM32与ASRPRO通信(智能家居系列一)

本片文章主要讲一下STM32单片机和ASRPRO是如何进行串口通信的,具体过程代码和实验结果等会一并给大家复现在本篇文章当中。 一、 STM32端(首先介绍stm32端需要用到的端口和代码如何进行操作) 根据官方给出的原理图: 根据原理图我们…

XV6源码阅读——页表

文章目录 前言分页硬件实际转换 内核地址空间 前言 一个本硕双非的小菜鸡,备战24年秋招。打算尝试6.S081,将它的Lab逐一实现,并记录期间心酸历程。 代码下载 官方网站:6.S081官方网站 分页硬件 RISC-V指令(用户和内…

mysql基础3——创建和修改数据表

创建数据表 创建一个表(importtype有默认值1)并插入一条数据(importtype字段没有指定值) 约束 默认约束(把设置的默认值自动赋值给字段) create table demo.importhead(listnum int,supplied int,stock…

Colab使用教程(超级详细版)及Colab Pro/Pro+评测

原文:Colab使用教程(超级详细版)及Colab Pro/Pro评测 - 知乎 在下半年选修了机器学习的关键课程Machine learning and deep learning,但由于Macbook Pro显卡不支持cuda,因此无法使用GPU来训练网络。教授推荐使用Google…

【LAMMPS学习】八、基础知识(3.6)计算热导率

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

vector的底层与使用

前言&#xff1a;vector是顺序表&#xff08;本质也是数组&#xff09; 文档参考网站&#xff1a;https://legacy.cplusplus.com/reference/vector/vector/vector/ //底层代码 #include<assert.h> #include<iostream> #include<vector> #include<string&g…

跳跃游戏 II (贪心, 动态规划)

题目描述(力扣45题) : 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到…

学会了这几点,制作电子杂志原来这么简单

​电子杂志作为一种新型的出版形式,正在逐渐受到大众的欢迎。而制作电子杂志,其实并没有想象中那么困难。下面,我们就来学习这几点,让电子杂志制作变得简单易学。 1.要制作电子杂志,首先需要选择一款适合自己的软件。比如FLBOOK在线制作电子杂志平台。这个工具具有强大的功能,可…

“傻瓜”学计量——核密度估计KDE

提纲&#xff1a; 什么是核密度估计&#xff0c;是干什么的 代码 1 前言 参数估计vs非参数估计参数估计是样本数据来自一个具有明确概率密度函数的总体。非参数估计是样本数据的概率分布未知&#xff0c;这时&#xff0c;为了对样本数据进行建模&#xff0c;需要估计样本数据…

DDP、pytorch的分布式 torch.distributed.launch 训练说明

0、DDP的运行原理 执行步骤&#xff1a; 将data分为多个不同的batch&#xff0c;每个gpu得到batch都是不一样的然后将每个batch放在每个gpu上独立的执行最后得到的梯度求平均将平均梯度平分给每个gpu执行下一次迭代 这也就意味着你有多少个gpu&#xff0c;训练的速度也会提升…

Redis中的慢查询日志和监视器

慢查询 添加新日志 在每次执行命令的之前和之后&#xff0c;程序都会记录微妙格式的当前UNIX时间戳&#xff0c;这两个时间戳之间的差就是服务器执行命令所耗费的时长&#xff0c;服务器会将这个时长作为参数之一传给slowlogPushEntryIfNeeded函数&#xff0c;而slowlogPushE…

【Git】生成patch和应用patch

生成patch 将本地所有修改打成补丁 git diff > /tmp/xxx.patch将本地对某个文件的修改打成补丁 git diff test/1.txt > /tmp/1.patch将某一次提交的修改内容打成补丁 -1表示只为单个提交创建patch&#xff0c;-o表示输出patch的文件夹路径&#xff0c;默认是用提交的…

[LitCTF 2023]PHP是世界上最好的语言!!、 [LitCTF 2023]Vim yyds、 [羊城杯 2020]easycon

目录 [LitCTF 2023]PHP是世界上最好的语言&#xff01;&#xff01; [LitCTF 2023]Vim yyds [羊城杯 2020]easycon [LitCTF 2023]PHP是世界上最好的语言&#xff01;&#xff01; 无参&#xff0c;根据题目提示看看php能否执行——返回1执行成功 用system()函数调用、执行ls …

【每周精选资讯 | 第 6 期】2024-04-15 ~ 2024-04-21

目录 前言内容国家天文台推出新一代天文大模型“星语3.0”李飞飞团队发布《2024年人工智能指数报告》&#xff0c;揭示AI十大趋势百度发布新一代智能计算操作系统“万源”刘强东AI数字人“采销东哥”亮相直播抖音与美团在AI赋能本地生活服务领域的竞争与合作联想发布AI PC系列产…

说话的艺术

目录&#xff1a; 1、询问术 2、说话的逻辑性 1、询问术 询问类似于从对方检索出你想要得到的事情&#xff0c;做好笔记也是很有必要的&#xff0c;故将“询问术”放于此处。 把握&#xff1a;26/F*4超级询问 2&#xff1a;带着两岁孩童的好奇心去提问 6&#xff1a;使用…