mysql基础19——日志

日志

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.mzph.cn/news/826741.shtml

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

相关文章

计算机体系结构

体系结构 CPU:运算器和控制器 运算器:进行算术和逻辑运算控制器: 输入设备:鼠标、键盘、显示器、磁盘、网卡等输出设备:显卡,磁盘、网卡、打印机等存储器:内存,掉电易失总线&#xf…

借助 NVivo 彻底改变业务创新

在收集定性数据时,通常很难确定信息的情感底蕴。尤其是在金融行业,当涉及到经济金融状况和股票走势等问题时,通过文章、社交媒体和其他消费者平台了解市场的真实整体感受至关重要。这就是对数据应用情绪分析可以提供帮助的地方。 在德勤 针对…

代码随想录第42天|416. 分割等和子集

416. 分割等和子集 416. 分割等和子集 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集_哔哩哔哩_bilibili 给你一个 只包含正整数 的 非空 数组…

软件测试之【软件测试概论一】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言软件生命周期软件项目开发过程软件项目组织架构软件开发相关模型 软件测试…

深入理解与实践“git add”命令的作用

文章目录 **git add命令的作用****git add命令的基本作用****高级用法与注意事项** git add命令的作用 引言: 在Git分布式版本控制系统中,git add命令扮演着至关重要的角色,它是将本地工作区的文件变动整合进版本控制流程的关键步骤。本文旨…

《乱弹篇(30)厌战的杜诗》

时下地球村有一伙成天叫嚣着“打打杀杀”、鼓吹快快发动战争的狂人,他们视老百姓的生命如草芥,毫不珍惜。没有遭受过战火焚烧的人,也跟着成天吠叫“快开战吧”。然而中国唐朝大诗人却是个“厌战派”,他对战争的厌恶集中表现在诗《…

放大器DC参数测试(1)

放大器DC参数测试(1) Hi,uu们,最近在忙啥呢?想好5.1,端午去哪里玩了吗? 咱们直接开始正题,放大器的DC参数还挺多,在Bench测试中,需要自动化测试,通常需要很多Relay去切换不同的配置去测量不同的参数,在这里瑞萨给出了测试参考电路.如图1所示. 图1:直流关键参数测试电路 Re…

近期分享学习心得4

1、带有多的条件的if的语句 逻辑 || 的简写 if (x true || x 2523 || x 小明) {}// 简化操作if ([true, 2523, 小明].includes(x)) {}2、查找两个数组的交集 var numOne [0, 2, 4, 6, 8, 8]; var numTwo [1, 2, 3, 4, 5, 6]; var cross [...new Set(numOne)].filter(item…

【树莓派】如何刷个系统给树莓派4B,如何ssh登陆到树莓派

文章目录 下载树莓派镜像下载烧写软件烧写编辑设置连接树莓派4B重启ssh查看树莓派IPssh远程连接问询、帮助 下载树莓派镜像 https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit 下载烧写软件 https://www.raspberrypi.com/software/ 烧写 编辑…

python使用redis存储时序数据

import redisdef ts_demo():"""时序数据存储RedisTimeSeries测试"""# 连接到Redisr redis.Redis(hostlocalhost, password"xxxx", port63790, db0)r1 r.ts()# print(r1.get("ts_key"))# print(r.exists(ts_key))# # 清空键…

【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程

文章目录 前言安装教程使用教程 前言 JavaScript文件可能会泄露敏感信息,如注释中的机密信息、内部IP地址,以及包含未授权访问或其他漏洞的URL。手动检查这些信息效率低下,而该工具——LinkFinder,可用于自动收集JavaScript文件中…

CefSharp.WinForms模拟登录

一、新建Web项目 {ViewData["Title"] "Home Page";Layout null; } <script src"~/lib/jquery/dist/jquery.min.js"></script> <script src"~/lib/jquery/dist/jquery.js"></script> <head><scrip…

FairAdaBN论文速读

FairAdaBN: Mitigating Unfairness with Adaptive Batch Normalization and Its Application to Dermatological Disease Classification 摘要 深度学习在医疗研究和应用中变得越来越普遍&#xff0c;同时涉及敏感信息和关键诊断决策。研究人员观察到不同人口统计属性子组之间…

变频器基础原理

文章目录 0. 基本知识1.三相的电压之和为02.正弦交流相量的相量表示法(相量只是表示正弦量&#xff0c;而不等于正弦量 &#xff1b;只有正弦量才能用相量表示)引入相量表示法目的:一种正弦量的产生方式:正弦量的相量表示&#xff0c;使用欧拉公式表示复数 3.用复数表示正弦量&…

基于SpringBoot + Vue实现的医护人员排(值)班系统设计与实现+毕业论文+开题报告

项目介绍 本医护人员排班系统包括管理员&#xff0c;医护。 管理员功能有个人中心&#xff0c;医院信息管理&#xff0c;医护信息管理&#xff0c;医护类型管理&#xff0c;排班信息管理&#xff0c;排班类型管理&#xff0c;科室信息管理&#xff0c;投诉信息管理。 医护人员…

Swift-20-基础数据类型

数据定义 语法规则 先来看下下面的代码 import Cocoavar num1 "four" //a var num2: String "four" //b var num3 4 //c var num4: Int 4 //d上面的几行代码都能正常运行&#xff0c;其中a和b行等价&#xff0c;c和d行等价。区另就在于是否声…

AppWizard的软件开发GUI的使用记录

前言 这个软件是针对于EmWin6.0以上的这个软件在emWin的基础上又封装了一层,也只提供的API函数.基于消息事件为核心&#xff08;个人理解&#xff09;一些组件的之间的交互可以通过软件界面进行配置,比较方便本次是基于模拟器进行测试记录,观察api 按键和文本之间的关联 通过…

基于SpringBoot+Vue七匹狼商城系统的设计与实现

系统介绍 近年来随着社会科技的不断发展&#xff0c;人们的生活方方面面进入了信息化时代。计算机的普及&#xff0c;使得我们的生活更加丰富多彩&#xff0c;越来越多的人使用通过网络来购买各类的商品。早期商品的销售和购买都是通过实体店&#xff0c;这种购买方式需要耗费…

分析和比较深度学习框架 PyTorch 和 Tensorflow

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 深度学习作为人工智能的一个重要分支&#xff0c;在过去十年中取得了显著的进展。PyTorch 和 TensorFlow 是目前最受欢迎、最强大的两个深度学习框架&#xff0c;它们各自拥有独特的特点和优势。 1. Py…

网络编程学习——IO多路复用

目录 ​编辑 一&#xff0c;多路复用 1&#xff0c;IO的分类 2&#xff0c;IO的效率 二&#xff0c;Linux环境下实现通信的多路复用 1&#xff0c;select select的特点&#xff1a; 参数&#xff1a; 操作函数&#xff1a; 返回值&#xff1a; 使用select实现网络通信…