14.18.1 The InnoDB Recovery Process  InnoDB 恢复进程:

InnoDB crash recovery 有几个步骤组成:

1.应用redo log,Redo log 应用是第一阶段在初始化阶段执行,

在接收任何连接前。

如果所有的改变都从buffer pool 刷新到 tablespaces (ibdata* and *.ibd files)

在关闭或者crash 的时间点。

redo log 应用可以被跳过, 如果redo log files 在启动时候丢失,InnoDB 跳过redo log 应用。

删除redo logs 可以加速恢复过程,但不是推荐的,

即使如果一些数据的丢失是可以接受的。删除redo logs 只应在执行一个干净的关闭,

设置innodb_fast_shutdown set to 0 or 1.

回滚不完整的事务, 任何事务 在crash 或者fast shutdown 是活动的。

回滚的一个不完整的事务的时间可以是3或者4倍总量 一个事务活动的时间 在它被中断前,

依赖server 负载。

你不能cancel 事务,处于正在回滚的进程。在极端情况下,

当回滚事务语句需要很长的时间, 可能更快设置innodb_force_recovery 为3或者更大

Change buffer  合并:  应用changes 从change buffer(system tablespace的一部分)

到secondary indexes的leaf pages, 当index pages 是被读入到Buffer pool

清除: 删除标记删除的记录,对于任何活动事务不在可见

遵循redo log 应用不依赖redo log(除了日志写入),以并行执行那些普通的处理

只有不完整事务的回滚是指定crash recovery.

insert buffer merge和purge 是执行的在普通的处理中。

在redo log 应用中,InnoDB 尝试接收连接连接尽可能的早,

降低停机时间。 作为crash recovery的一部分,InnoDB回滚任何事务 没有提交的

或者在XA 准备阶段当server crashed.

回滚时通过一个后台thread执行, 与新的连接的事务平行执行。

直到回滚完成,新的连接可能遇到locking 冲突 在回滚事务阶段

在大多数情况下, 如果MySQL server 被意外killed 在一个严重负载期间,

recovery 进程会自动发生,DBA不需要做任何事情,

MySQL 可能拒绝启动, 在那种情况下

14.18.1 The InnoDB Recovery Process InnoDB 恢复进程:的更多相关文章

  1. 14.18 InnoDB Backup and Recovery 备份和恢复:

    14.18 InnoDB Backup and Recovery 备份和恢复: 安全数据库管理的关键是 做定期的备份,依赖你的数据卷, MySQL server的数量和数据库的负载,你可以使用那些技术 ...

  2. 14.6.1 Creating InnoDB Tables 创建InnoDB 表:

    14.6.1 Creating InnoDB Tables 创建InnoDB 表: 创建一个InnoDB 表,使用CREATE TABLE 语句,你不需要指定 ENGINE=InnoDB子句 如果In ...

  3. 14.8.11 Physical Structure of an InnoDB Index InnoDB Index 的物理结构

    14.8.11 Physical Structure of an InnoDB Index InnoDB Index 的物理结构 所有的InnoDB indexes 是 B-trees Index r ...

  4. 14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构

    14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构 一个InnoDB 表的物理行结构取决于在创建表指定的行格式 默认, Inno ...

  5. 14.8.1 Creating InnoDB Tables 创建InnoDB 表

    14.8.1 Creating InnoDB Tables 创建InnoDB 表 创建一个InnoDB表,使用CREATE TABLE 语句,你不需要指定ENGINE=InnoDB 子句 如果Inno ...

  6. 14.7.1 Resizing the InnoDB System Tablespace InnoDB 系统表空间大小

    14.7.1 Resizing the InnoDB System Tablespace InnoDB 系统表空间大小 这个章节描述如何增加或者减少 InnoDB 系统表空间的大小 增加InnoDB ...

  7. 14.6.11 Configuring Optimizer Statistics for InnoDB 配置优化统计信息用于InnoDB

    14.6.11 Configuring Optimizer Statistics for InnoDB 配置优化统计信息用于InnoDB 14.6.11.1 Configuring Persisten ...

  8. 14.6.6 Configuring Thread Concurrency for InnoDB 配置线程并发

    14.6.6 Configuring Thread Concurrency for InnoDB 配置线程并发 InnoDB 使用操作系统线程来处理请求(用户事务) 事务可能执行很多次在它们提交或者回 ...

  9. 14.1.2 Checking InnoDB Availability 检查InnoDB 可用性:

    14.1.2 Checking InnoDB Availability 检查InnoDB 可用性: 确认你的server 是否支持InnoDB,使用 SHOW ENGINES 语句.(默认MySQL的 ...

随机推荐

  1. VirtualBox虚拟机安装RedHat7.3编译Linux0.01内核

    引子 由于需要编译linux0.01内核,而目前的linux版本太高需要降低gcc版本等等,需要做不少调整非常不方便. 所以,直接安装RedHat7.3,这样就好编译linux0.01的内核了. 但是 ...

  2. linux 学习:环境变量设置

    一.临时环境变量 临时环境变量,只对当前打开的shell生效,shell关闭后,环境变量失效. 设置方法一: 分两步 MYPARA=hello export MYPARA 设置方法二:一步完成 exp ...

  3. php 父类子类构造函数注意事项

    网上流传的2点: PHP的构造函数继承必须满足以下条件: 当父类有构造函数的声明时,子类也必须有声明,否则会出错. 在执行父类的构造函数时,必须在子类中引用parent关键字. 第1点不需要. 第二个 ...

  4. python 拼写检查代码(怎样写一个拼写检查器)

    原文:http://norvig.com/spell-correct.html 翻译:http://blog.youxu.info/spell-correct.html 怎样写一个拼写检查器 Pete ...

  5. Axis2(7):将Spring的装配JavaBean发布成WebService

    在现今的Web应用中经常使用Spring框架来装载JavaBean.如果要想将某些在Spring中装配的JavaBean发布成WebService,使用Axis2的Spring感知功能是非常容易做到的 ...

  6. Linux fstab 参数详解

    [root@qs-wg-db1 /]# cat /etc/fstab LABEL=/          /                       ext3    defaults         ...

  7. net use \\192.168.54.145 /user:administrator "12345qwert"无法连接,错误码1326

    1.在远程机的"控制面板-文件夹选项-查看-简单的文件共享",去掉选取,然后再尝试连接 2.控制面板\所有控制面板项\管理工具 下-->本地安全策略-->安全设置--& ...

  8. 一天一个类,一点也不累 之 LinkedList

    我们的口号是,一天一个类,一点也不累 .. 今天要讲的是---LinkedList 首先,还是看看他的组织结构 Class LinkedList<E> java.lang.Object j ...

  9. Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的使用

    现在,ContentProvider已经创建好了,可以去尝试使用一下. 1. 使用之前的工程,在布局文件main.xml中添加一些控件. <?xml version="1.0" ...

  10. 简单的http代理服务器

    简单的http代理服务器 本项目课程是基于 Python 实现的一个简单的 HTTP 代理服务器,要求用户需了解 Python 基础和一定的 HTTP 服务器基础知识.