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

  0:表示在 MySQL 数据库关闭时,InnoDB 需要完成所有的 full purge 和 merge insert buffer,并且将所有的在脏页刷新回磁盘。这需要一些时间,有时甚至需要几个小时来完成。如果在进行 InnoDB 升级时,必须将这个参数调为 0,然后在关闭数据库。

  1:不需要完成上述的 full purge 和 merge insert buffer,但是在缓冲池中的一些数据脏页还是会刷新回磁盘。

  2:不完成 full purge 和 merge insert buffer 操作,也不将缓冲池中的数据脏页写会磁盘,而是将日志都写入日志文件。这样不会有任何事务的丢失,但是下次启用 MySQL 时,会进行恢复操作。

当正常关闭 MySQL 数据库时,下次的启动应该会非常正常。但是如果没有正常的关闭数据库,或者在关闭数据库时,将 innodb_fast_shutdown 设为了 2 时,下次 MySQL 数据库启动时,会对 InnoDB 存储引擎的表进行恢复操作。

innodb_force_recovery 影响 InnoDB 存储引擎恢复的状况。

  https://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html

  0(默认):当发生需要恢复时,进行所有的恢复操作。当不能进行有效恢复时,MySQL 数据库可能发生宕机,并把错误写入错误日志中去。

  

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

MySQL--InnoDB 启动、关闭与恢复的更多相关文章

  1. MySQL -- Innodb的关闭

    参数innodb_fast_shutdown控制着innodb的关闭模式,有三种取值: 0:     innodb执行slow shutdown,在关闭之前要完成一次full purge和change ...

  2. mysql innodb 从 ibd 文件恢复表数据

    最近内部的 mysql 数据库发生了一件奇怪的事,其中有一个表 users625 突然出现问题, 所有对它的操作都报错误 数据表不存在. mysql> select count(*) from ...

  3. redhat下安装mysql 5.6.20,解压zip包,查看已经安装过的mysql,卸载rpm安装包,安装mysqlserver端和client,改动mysqlusername,登陆mysql,启动关闭mysql

     1 将相关的mysql rpm包上传到redhat上 2  我的电脑是Redhat 6.*版本号.所以这里使用上面一个 3  解压zip包 4  安装下面几个rpm MySQL-client-a ...

  4. MySQL InnoDB类型数据库的恢复

     MySQL的数据库文件直接复制便可以使用,但是那是指“MyISAM”类型的表. 而使用MySQL-Front直接创建表,默认是“InnoDB”类型,这种类型的一个表在磁盘上只对应一个“*.frm”文 ...

  5. MySQL的启动关闭及登录退出

    1启动和关闭: (1)此电脑->管理->搜索服务->查看本地服务->找到MySQL57然后选择启动 (2)同样步骤进行关闭 作为程序员,打开和关闭的方式当然要更多一点,打开cm ...

  6. InnoDB的启动,关闭,恢复

    InnoDB存储引擎是MySQL的存储引擎之一,因此InnoDB存储引擎的启动和关闭更准确地是指在MySQL实例的启动过程中对InnoDB表存储引擎的处理过程. 参数innodb_fast_shutd ...

  7. MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据

    记录通过.frm和.ibd文件恢复数据到本地 .frm文件:保存了每个表的元数据,包括表结构的定义等: .ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per ...

  8. Mysql无法启动 InnoDB: Attempted to open a previously opened tablespace

    win2008,Mysql5.6,mysql服务无法启动 查看事件日志,报错InnoDB: Attempted to open a previously opened tablespace 最终解决方 ...

  9. Mysql无法启动情况下,如何恢复数据?

    本文适用于,mysql无法启动,但数据文件未丢失的情况. Mysql因意外情况,导致无法启动,数据库未做备份的情况下,如何将数据迁移至其他数据库中. 原数据库地址:192.168.1.100(以下简称 ...

随机推荐

  1. B. Misha and Changing Handles

    B. Misha and Changing Handles time limit per test 1 second memory limit per test 256 megabytes input ...

  2. scanf与正则表达式的搭配及应用

    scanf与正则表达式的搭配及应用 正则其实我也学的不咋地,只会一点皮毛,正则最大的作用就是当输入流是一个字符串,我们能在输入的时候就滤掉无用信息,省去后期提取数值的步骤. 正则的语法我怕误人子弟,嘿 ...

  3. JD-Store购物网站复盘——20170312

    一.商店技术架构 1.主题 2.涉及技术点: 3.核心业务功能 4.角色 5.用户故事 二.实现步骤 专案基础设施 上传图片模块 购物车 订单 支付&寄信 专案源码 三.第三方服务应用 支付 ...

  4. JS - 获取数组中的最后1个

    arr = [1,2,3,4,5] console.log(arr[arr.length-1])    //输出的为5,即最后一个

  5. bzoj 1912: [Apio2010]patrol 巡逻

    呵呵呵呵呵呵,自己画图,大概半个小时,觉的连上边会成环(是不是该交仙人掌了??)然后求环不重合部分最大就好了, 结果写了一坨DP,最后写不下去了,再次扒了题解. 发现我真的是个sb. k==1,直接是 ...

  6. JS给对象添加新字段

    //这是我的对象 var myInfo = { "name":"peng ya ping", "tel":"138888888&q ...

  7. qt 中图表 QtCharts 的使用

    要使用QtCharts 需要几个步骤: 1. pro 文件中 修改 QT += charts 2. 把 chart 相关的头文件放在 ui 相关的头文件上面,否则会导致 编译错误,找不到 chartV ...

  8. UVA - 11181 Probability|Given (条件概率)

    题意:有n个人,已知每个人买东西的概率,求在已知r个人买了东西的条件下每个人买东西的概率. 分析:二进制枚举个数为r的子集,按定义求即可. #include<cstdio> #includ ...

  9. EUI库 - 容器

      eui.UILayer UILayer是Group的子类它只有一个功能,到放到场景上后,宽高永远和场景宽度一致   Group Group 是自动布局的容器基类.如果包含的子项内容太大需要滚动显示 ...

  10. 仿flash的文字动画效果

    .tips{ font-size: 24px; font-family: sans-serif; font-weight: 600; text-shadow: 1px 1px #ffb700; col ...