《MySQL系列-InnoDB引擎12》启动、关闭与恢复

news2024/9/28 19:19:59

在这里插入图片描述

启动、关闭与恢复

  InnoDB是MySQL数据库得存储引擎之一,因此InnoDB存储引擎得启动和关闭,可以说是MySQL实例得启动过程中对InnoDB存储引擎的处理过程。

  在关闭时,参数innodb_fast_shutdown影响着表的存储引擎为InnoDB的行为。该参数可取值为0、1、2,默认值为1。

mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1     |
+----------------------+-------+
1 row in set (0.06 sec)
  • 0 表示在MySQL数据库关闭时,InnoDB需要完成所有的full purge和merge insert buffer,并且将所有的脏页刷新回磁盘。这需要一些时间,有时甚至需要几个小时完成。
  • 1是参数innodb_fast_shutdown的默认值,表示不需要完成上诉的full purge和merge insert buffer操作,但是在缓冲池中一些数据脏页还是会刷新回到磁盘。
  • 2表示不完成full purge和merge insert buffer操作,也不将缓冲池中的数据脏页写回磁盘,而是将日志写入日志文件。这样不会有任何事务的丢失,但是下次MySQL数据库启动时,回进行恢复操作(recovery)。

  当正常关闭MySQL数据库时,下次的启动应该会正常。但是如果没有正常的关闭数据库,比如:用kill命令关闭数据库,MySQL运行中重启服务器,又或者是innodb_fast_shutdown=2。那么下次MySQL数据库启动时会对InnoDB存储引擎的表进行恢复操作。

  参数innodb_force_recovery影响了整个InnoDB存储引擎恢复的状况。该参数默认值为0。代表的是当需要恢复时,进行所有的恢复操作,当不能进行有效恢复时,如数据页发生了corruption,MySQL数据库可能发生宕机(crash),并把错误写入错误日志中。

mysql> show variables like 'innodb_force_recovery';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_force_recovery | 0     |
+-----------------------+-------+
1 row in set (0.00 sec)

  但是,在某些情况下,可能并不需要进行完整的恢复操作,因为用户自己知道怎么进行恢复。比如在对一个表进行alter table操作时发生了意外,数据库重启时会对InnoDB表进行回滚操作,对于一个大表来说,这可能需要很长时间。这时用户可以自行进行恢复,如可以把表删除,从备份中重新导入数据到表,可能这些操作的速度远远快于回滚操作。

  参数innodb_force_recovery还可以设置6个非零值:1~6。大的数字包含了前面所有小数字表示的影响,具体情况如下:

  • 1(srv_force_ignore_corrupt): 忽略检查到的corrupt页。
  • 2(srv_force_no_background): 阻止Master Thread线程的运行,如Master Thread线程需要进行full purge操作,而这会导致crash。
  • 3(srv_force_no_trx_undo): 阻止Master Thread线程的运行,如Master Thread线程需要进行full purge操作,而这会导致crash。
  • 4(srv_force_no_ibuf_merge): 不进行插入缓冲的合并操作。
  • 5(srv_force_no_undo_log_scan): 不查看撤销日志(undo log),InnoDB存储引擎会将未提交的事务视为已提交。
  • 6(srv_force_no_log_redo): 不进行前滚的操作。

  需要注意的是,在设置了参数innodb_force_recovery大于0后,用户可以对表进行select、create、drop等操作,但insert、update和delete这类DML操作是不允许的。

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

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

相关文章

BIOS(控制权交接第一棒)

计算机系统的控制权(CPU的使用权)交接的第一棒是BIOS!接下来,我们简单学习一下BIOS相关知识。 在计算机接电后按下开机键,首先运行的软件是基本输入输出系统(Basic Input Output System,BIOS&a…

阿里云故障有感

2304阿里云故障有感 为什么会写一个如此奇怪的议题。 人的生活轨迹,不一定只有唯一的叙事方式,可以不那么苦,不那么累,不那么怕,不那么憋屈。 不再去追求宏大的叙事,而是去关心自己的感受,吃没…

Spring Boot学习篇(六)

Spring Boot学习篇(六) mybatis-plus使用篇(二) 1 新增 1.1 示例代码 AutowiredISongsService songsService; Testpublic void add(){Songs snew Songs(null,"11","xx",null,"xx歌曲","2020-02-12");songsService.save(s);System.…

linux之vim编辑器

文章目录1. 概念2.安装3. vim的使用1.使用一些按键没有反应2. 模式转换1.命令模式转换到插入模式1. a2. i3. o2.命令模式切换到底行模式1. 退出3. 整体概念图4. 热键的使用1. 命令模式下1.复制——yy 粘贴——p复制若干行—— n yy粘贴若干行—— n p2. 撤销操作——u3. 对撤销…

03-Alibaba微服务组件Nacos注册中心实战

什么是 Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 的关键特性包括: 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其元数据管理 Nacos…

陆道培医疗冲刺香港上市:持续亏损,毛利率下滑,陆佩华为董事长

2023年1月3日,陆道培医疗集团(下称“陆道培医疗”)在港交所递交招股书,准备在港交所主板上市。本次冲刺上市,陆道培医疗拟将募资金额用于河北燕达陆道培医院的扩建及搬迁及上海陆道培医院的开业等。 同时,陆…

新生儿只是睡?了解了他的生长发育情况后就不这么觉得了

在网上看到这样一句话,说:所谓坐月子,其实就是把最需要照顾的产妇和新生儿捆在一起,让他们互相治愈。是的,在很多人眼里,新生儿除了吃饭就是睡觉,照顾起来真的很容易,但是只要了解了新生儿的生长…

Android开发常见问题:为什么不要用Timer?

前言 从刚开始做Android开始,就时刻谨记一条规则:如果有能实现功能的Android API,就不要用Java API。所以我很少用Timer,直到前一阵一个朋友问我: 我有一个Timer计时器,我看logcat已经启动了,为…

嵌入式应该从哪里入手?

就从目前IT行业大的方向上来讲嵌入式工程师相对来讲是非常吃香的,学习嵌入式开发的朋友数量也是非常的多的,那么对于对嵌入式工程师我们应该从哪里入手呢? 下面就根据我自身多年的一个实际的工作经验来给哪些不知道怎么入门的朋友来简单的介绍一下。 前…

C语言进阶——指针(一)

目录 一. 字符指针 二. 指针数组 三. 数组指针 四. 数组参数、指针参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 一. 字符指针 在之前,我们就了解到过字符指针 int main() {char aW;//字符变量char* pa&a;//字符指针*…

1.3日报

今天优化了getMobileByScene接口, 测试accountadd接口 遇到的问题与解决 在升级安装python3时,由于操作失误,导致系统错误,在同事帮助下重装了系统,好在保住了文件。但是软件还得重新配置。 getMobileByScene接口在…

精益|什么是价值流图分析(VSM)?

在精益生产管理中,价值流研究主要是指利用制作价值流图,进行价值流图研究可以发现并消除浪费、降低成本,改进企业运营状况,提升企业竞争力。因此进行价值流研究离不开价值流图。 价值流图(Value Stream Mapping&#x…

基于KT6368A蓝牙芯片开发智能抖音翻页翻页笔总结

一、功能简介 KT6368A蓝牙芯片也是基于 HID 开发,主要用于浏览当下火爆的抖音等小视频的上下翻页、左右菜单切换、暂停等操作。打开手机蓝牙进行连接,进入视频浏览界面操作对应按键即可。包含一个蓝牙的指示灯,表示是否连接 。同时支持adkey按…

HBase面试题汇总

1、请描述HBse的? 答: Memstore级别:当MemStore的大小达到设置阈值(默认128M),会触发flush操作。 1、HBase中Memstore在何时进行数据的flush操作? 答: Memstore级别&#xff1a…

uniapp 填坑之旅---udb微信小程序端显示异常

功能描述:A页面展示列表a,点击a,进入B页面,展示a对象关联的子对象b。在B页面中,通过unicloud-db组件manual模式加载,具体代码按照官网示例来写。问题描述:代码实现后,一直在H5调试&a…

Jmeter安装配置使用超详细教程(亲测有效)

文章目录1、Jmeter下载2、JDK安装3、Jmeter环境部署4、验证jmeter5、修改语言6、接口测试1、Jmeter下载 1.1、下载地址 http://jmeter.apache.org/download_jmeter.cgi 1.2、选择对应版本,本文以windows版本为例,版本号为5.5。 2、JDK安装 jmeter安装…

到底为什么那么多大厂在开始疯狂裁员?

最近几年大家都听到了好多大厂公司开始裁员,比如鹅厂、狗厂、鸟厂、熊厂等。 接下来给大家讲个故事,希望故事看完,你就会懂了! 外国的神父呆了不久 留下几个 P 就走了, 一个 P 叫 BPR, 一个 P 叫 ERP。 …

作业1/4 设备树总结

1.什么是设备树 设备树(Device Tree)是用来描述(存储)硬件信息的一种树形结构,设备树在linux内核启动的时候传递给内核被内核解析,用来描述设备信息的一种方式(地址,中断号...)。设备…

《收获,不止Oracle》表的设计之五朵金花

表设计主要强调什么场合该选择什么技术,没有最高级的技术,只有最适合的技术。 1.表的特性 普通堆表的不足之处 1.查看产生多少日志 [oracleoracle-db-19c ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 4 14:27:13 20…

电商数据监测的应用价值——国内吸尘器行业数据浅析

随着科技的发展与居民生活水平的提高,吸尘器进入日常生活,成为了常见家用清洁用具之一。2022年上半年,吸尘器市场零售额达145亿元,同比增速达14.0%,零售量1008万台,同比下跌2.8%。(数据来源&…