在关闭时,参数 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. 在windows7 64位上安装selenium2library问题解决

    今天发现了windows7 64位上安装selenium2Libaray的问题,下载exe文件安装不行.就切换成了半自动模式.  方案如下: 1.首先下载pip安装.(因为要用pip来安装 selen ...

  2. P1053 住房空置率

    P1053 住房空置率 转跳点:

  3. ActorFramework教程对比及规划

    牢骚太盛防肠断,风物长宜放眼量. 一.引子 昨天的文章,本来就是想写写ActorFramework的教程内容,结果写着写着偏了,变成了吐槽. 首先,声明一下,自己从未参加过任何LabVIEW培训班,也 ...

  4. [题解] LuoguP6075 [JSOI2015]子集选取

    传送门 ps: 下面\(n\)和\(k\)好像和题目里的写反了...将就着看吧\(qwq\) 暴力打个表答案就出来了? 先写个结论,答案就是\(2^{nk}\). 为啥呢? 首先你需要知道,因为一个集 ...

  5. 11 数据存储(Unity3D)

    所有的游戏开发都离不开数据存储的操作,Unity3D也不例外PlayerPrefs:PlayerPrefs是Unity系统自带的的一种最简单的存储方式,数据是使用字典的方法来存储的 PlayerPre ...

  6. golang打包

    golang打包windows很简单直接go bulid xx.go 会有一个.exe文件 直接运行这个文件就行 golang打包linux服务器 SET CGO_ENABLED=0 SET GOOS ...

  7. Python 内置类型 dict, list,线程安全吗

    近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...

  8. HDU 5475:An easy problem 这题也能用线段树做???

    An easy problem Time Limit: 8000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  9. DW1000芯片定位技术解析

    近些年来随着物联网和机器人技术的大发展,精确定位技术的热度也随之攀升.目前精确定位的技术有很多,如基于wifi.RFID.zigbee.超声波.UWB等技术都可以实现精准定位.由于技术的不同,精度也不 ...

  10. java.sql.Date转换

    ---恢复内容开始--- JAVA 处理时间 - java.sql.Date.java.util.Date与数据库中的Date字段的转换方法,以及util包下的Date类与字符串的相互转换 在java ...