InnoDB存储引擎的启动、关闭与恢复

关闭innodb_fast_shutdown=
0 完成所有的full
purge和merge insert buffer操作(如:做InnoDB
plugin升级时)
1 默认,不需要完成上述操作,但会刷新缓冲池中的脏页
2 不完成上述两个操作,而是将日志写入日志文件,下次启动时,会执行恢复操作recovery
没有正常地关闭数据库(如:kill命令)/innodb_fast_shutdown=2时,需要进行恢复操作。

恢复innodb_force_recovery=
0 默认,但需要恢复时执行所有恢复操作
1 忽略检查到的corrupt页
2 阻止主线程的运行,如主线程需要执行full purge操作,会导致crash
3 不执行事务回滚操作
4 不执行插入缓冲的合并操作
5 不查看撤销日志undo log,InnoDB存储引擎会将所有未提交的事务视为已提交
6 不执行前滚的操作

时间: 2024-11-03 07:42:07

InnoDB存储引擎的启动、关闭与恢复的相关文章

《MySQL技术内幕:InnoDB存储引擎第2版》——2.7 启动、关闭与恢复

2.7 启动.关闭与恢复 InnoDB是MySQL数据库的存储引擎之一,因此InnoDB存储引擎的启动和关闭,更准确的是指在MySQL实例的启动过程中对InnoDB存储引擎的处理过程. 在关闭时,参数innodb_fast_shutdown影响着表的存储引擎为InnoDB的行为.该参数可取值为0.1.2,默认值为1. ?0表示在MySQL数据库关闭时,InnoDB需要完成所有的full purge和merge insert buffer,并且将所有的脏页刷新回磁盘.这需要一些时间,有时甚至需要几

《MySQL技术内幕:InnoDB存储引擎第2版》——3.6 InnoDB存储引擎文件

3.6 InnoDB存储引擎文件 之前介绍的文件都是MySQL数据库本身的文件,和存储引擎无关.除了这些文件外,每个表存储引擎还有其自己独有的文件.本节将具体介绍与InnoDB存储引擎密切相关的文件,这些文件包括重做日志文件.表空间文件.3.6.1 表空间文件InnoDB采用将存储的数据按表空间(tablespace)进行存放的设计.在默认配置下会有一个初始大小为10MB,名为ibdata1的文件.该文件就是默认的表空间文件(tablespace file),用户可以通过参数innodb_dat

MYSQL中INNODB存储引擎数据库恢复方法

MySQL的数据库文件直接复制便可以使用,但是那是指"MyISAM"类型的表. 而使用MySQL-Front直接创建表,默认是"InnoDB"类型,这种类型的一个表在磁盘上只对应一个"*.frm"文件,不像MyISAM那样还"*.MYD,*.MYI"文件. MyISAM类型的表直接拷到另一个数据库就可以直接使用,但是InnoDB类型的表 却不行.解决方法就是: 同时拷贝innodb数据库表"*.frm"文件

《MySQL技术内幕:InnoDB存储引擎第2版》——3.2 日志文件

3.2 日志文件 日志文件记录了影响MySQL数据库的各种类型活动.MySQL数据库中常见的日志文件有: ?错误日志(error log) ?二进制日志(binlog) ?慢查询日志(slow query log) ?查询日志(log) 这些日志文件可以帮助DBA对MySQL数据库的运行状态进行诊断,从而更好地进行数据库层面的优化.3.2.1 错误日志 错误日志文件对MySQL的启动.运行.关闭过程进行了记录.MySQL DBA在遇到问题时应该首先查看该文件以便定位问题.该文件不仅记录了所有的错

《MySQL技术内幕:InnoDB存储引擎第2版》——2.6 InnoDB关键特性

2.6 InnoDB关键特性 InnoDB存储引擎的关键特性包括: ?插入缓冲(Insert Buffer) ?两次写(Double Write) ?自适应哈希索引(Adaptive Hash Index) ?异步IO(Async IO) ?刷新邻接页(Flush Neighbor Page) 上述这些特性为InnoDB存储引擎带来更好的性能以及更高的可靠性.2.6.1 插入缓冲 1.?Insert Buffer Insert Buffer可能是InnoDB存储引擎关键特性中最令人激动与兴奋的一

《MySQL技术内幕:InnoDB存储引擎第2版》——导读

前言 为什么要写这本书 过去这些年我一直在和各种不同的数据库打交道,见证了MySQL从一个小型的关系型数据库发展为各大企业的核心数据库系统的过程,并且参与了一些大大小小的项目的开发工作,成功地帮助开发人员构建了可靠的.健壮的应用程序.在这个过程中积累了一些经验,正是这些不断累积的经验赋予了我灵感,于是有了这本书.这本书实际上反映了这些年来我做了哪些事情,其中汇集了很多同行每天可能都会遇到的一些问题,并给出了解决方案. MySQL数据库独有的插件式存储引擎架构使其和其他任何数据库都不同.不同的存储

《MySQL技术内幕:InnoDB存储引擎第2版》——2.3 InnoDB体系架构

2.3 InnoDB体系架构 通过第1章读者已经了解了MySQL数据库的体系结构,现在可能想更深入地了解InnoDB存储引擎的架构.图2-1简单显示了InnoDB的存储引擎的体系架构,从图可见,InnoDB存储引擎有多个内存块,可以认为这些内存块组成了一个大的内存池,负责如下工作: ?维护所有进程/线程需要访问的多个内部数据结构. ?缓存磁盘上的数据,方便快速地读取,同时在对磁盘文件的数据修改之前在这里缓存. ?重做日志(redo log)缓冲. -- 后台线程的主要作用是负责刷新内存池中的数据

《MySQL技术内幕:InnoDB存储引擎第2版》——2.8 小结

2.8 小结 本章对InnoDB存储引擎及其体系结构进行了概述,先给出了InnoDB存储引擎的历史.InnoDB存储引擎的体系结构(包括后台线程和内存结构):之后又详细介绍了InnoDB存储引擎的关键特性,这些特性使InnoDB存储引擎变得更具"魅力":最后介绍了启动和关闭MySQL时一些配置文件参数对InnoDB存储引擎的影响. 通过本章的铺垫,读者在学习后面的内容时就会对InnoDB引擎理解得更深入和更全面.第3章开始介绍MySQL的文件,包括MySQL本身的文件和与InnoDB存

《MySQL技术内幕:InnoDB存储引擎第2版》——2.5 Master Thread工作方式

2.5 Master Thread工作方式 在2.3节中我们知道了,InnoDB存储引擎的主要工作都是在一个单独的后台线程Master Thread中完成的,这一节将具体解释该线程的具体实现及该线程可能存在的问题.2.5.1 InnoDB 1.0.x版本之前的Master ThreadMaster Thread具有最高的线程优先级别.其内部由多个循环(loop)组成:主循环(loop).后台循环(backgroup loop).刷新循环(flush loop).暂停循环(suspend loop