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 临时表的更新和删除操作


总结

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

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

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

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

相关文章

Skill Check: Build an LLM Application using OCI Generative AI Service

Skill Check: Build an LLM Application using OCI Generative AI Service

Oracle21C 引入HR实例(linux)

1、下载资源 https://github.com/oracle-samples/db-sample-schemas点击code(代码)下载 2、上传Sql文件 解压之后将human_resources里的文件复制到demo\schema\目录(具体目录前面的路径是你安装的路径)下,如下图 3、…

Zoom会议频繁中断怎么办?解决策略来了

在远程办公盛行的今天,Zoom会议成为众多团队沟通协作的工具。然而,不少用户在使用过程中遇到Zoom会议频繁中断的困扰,这不仅影响工作效率,更可能阻碍信息的及时传递。那么,该如何应对这一问题,确保Zoom会议…

HarmonyOS开发实例:【图片编辑应用】

介绍 本篇Codelab通过动态设置元素样式的方式,实现几种常见的图片操作,包括裁剪、旋转、缩放和镜像。效果如图所示: 相关概念 [image组件]:图片组件,用来渲染展示图片。[div组件]:基础容器组件&#xff0…

wps免登录绕路

打开注册表 regedit 新建字符串值--> false

如何处理Keil uVision5注释无法输入汉字且输入汉字变成问号的问题

好久没用KEIL,今天在注释中出现无法输入汉字的情况,且输入或粘贴的汉字都变成了问号,解决方法很简单,将General Editor Settings: Encoding:设置为Chinese GB2312(Simplified)即可(出现问号的当前设置是Encode in ANSI…

OpenHarmony实战开发-文件上传下载性能提升指导。

概述 在开发应用时,要实现高效的客户端跟服务器之间数据交换,文件传输的性能是至关重要的。一个数据交换性能较低的应用会导致其在加载过程中耗费较长时间,在很多的场景造成页面卡顿,极大的影响了用户体验。相反,一个…

使用vite从头搭建一个vue3项目(三)vite.config.js配置

目录 一、声明环境变量配置文件二、vite.config.js基础配置1、defineConfig()、loadEnv()2、plugins配置项3、server配置项4、resolve配置项5、css配置项6、build配置项 三、vite.config.js配置完整代码 VITE版本:v5.2.8 一、声明环境变量配置文件 在根目录下新建…

react 安装教程

1、安装脚手架 脚手架主要分为三个部分: react:顶级库。 react-dom:运行环境。 react-scripts:运行和打包react应用程序的脚本和配置。 npm install -g create-react-app 2、创建项目 #查看版本号 create-react-app -V #创建项目 creat…

李廉洋:4.23黄金休市之后大幅下跌,原油小幅度上涨。走势分析!

今年以来推动金价上涨的因素是亚洲的需求,很可能来自各国央行。最近又有零售买盘和一些金融买盘作为补充。目前的问题是,不断上升的债券收益率正在争夺资金。美国2年期国债的收益率接近5%,在美联储降息导致收益率开始下降之前,这仍…

13.Nacos简介,下载,安装,启动-windows

Nacos是阿里巴巴的产品,现在是SpringCloud的一个组件。 相比Eureka功能更加丰富,服务注册与发现和分布式配置。 Nacos下载地址: https://github.com/alibaba/nacos windows下载nacos-server-1.4.1.zip文件 nacos是基于java语言实现的&…

iStat Menus for Mac:强大的系统监控工具

iStat Menus for Mac是一款功能强大的系统监控工具,专为Mac用户设计,旨在帮助用户全面了解电脑的运行状态,提高电脑的性能和稳定性。 iStat Menus for Mac v6.73 (1239)中文版下载 该软件可以实时监测CPU使用率、内存占用、网络速度、硬盘活动…

力扣HOT100 - 25. K 个一组翻转链表

解题思路&#xff1a; class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode dum new ListNode(0, head);ListNode pre dum;ListNode end dum;while (end.next ! null) {for (int i 0; i < k && end ! null; i) {end end.next;}if …

思科 Packet Tracer 实验八 DHCP基本配置(以路由为中继)

一、实验目的 了解思科网络设备的配置基本特点及 IOS 命令基本操作方法 了解DHCP的工作原理及基本配置 二、实验过程 1) 实验拓扑如下&#xff1a; 2&#xff09;由于使用DHCP‘协议动态配置ip&#xff0c;所以除了DHCP服务器和路由器接口外其他的主机&#xff0c;服务器的i…

Spring之AOP编程

一.静态代理设计模式 1.为什么需要代理设计模式&#xff1f; 在JavaEE开发中&#xff0c;哪个层次最为重要&#xff1f; DAO层->Service层->Controller层。最重要的是Service层 Service层包含了哪些代码&#xff1f; 1.核心功能&#xff1a;业务运算DAO调用 2.额外…

必应搜索广告与谷歌搜索广告对比那个更好?

搜索引擎广告作为企业获取潜在客户的重要渠道之一&#xff0c;其效果直接关系到营销策略的成功与否。两大搜索引擎巨头——谷歌&#xff08;Google&#xff09;和必应&#xff08;Bing&#xff09;各自提供了广告平台&#xff0c;即谷歌广告&#xff08;Google Ads&#xff09;…

MSR是个什么寄存器

MSR 这种寄存器专门用于调试、程序执行跟踪、计算机性能监控、简化软件编程、电源控制等等各种实验性功能。 什么是 MSR MSR 的概念是不易理解&#xff0c;所以这一节只说一些 MSR 的外在&#xff0c;比如形容和指令等&#xff0c;然后展开说说&#xff0c;看完整篇文章你应该…

向媒体投稿有了好方法财政单位信息宣传工作简单又轻松

当我初涉财政单位的信息宣传岗位,肩负起对外展示单位风采、传播政策信息的重要职责时,我深刻体验到了投稿之路的艰辛曲折。初期,对于如何有效对接媒体并成功发表稿件,我感到一片茫然,仿佛置身于浩瀚的信息海洋中,无从下手。 那时,我的工作日常就是广泛搜集各类媒体的联系方式,特…

稀碎从零算法笔记Day56-LeetCode:组合总和 Ⅳ

题型&#xff1a;DP、数组 链接&#xff1a;377. 组合总和 Ⅳ - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给你一个由 不同 整数组成的数组 nums &#xff0c;和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的…

数据结构系列-堆排序

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 昨天我们实现的堆的搭建&#xff0c;我们今天实现以下堆的排序&#xff0c; 堆的排序的最大的优点就是提高的效率&#xff0c;减小了时间复杂度&#xff0c;在这个里面我们有一个…