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. Android百度地图定位

    在谈到百度地图.如今,每个人都知道这个时候应该可以了吧.而更多的字不拉.直接朝话题. 访问百度地图api您必须应用key,应用在这里key不用说,有官方的文件说明如何应用上述key. 在这里,百度地图 ...

  2. 【Nginx】启动报错-端口被占用

    将下载的windows版nginx的压缩包nginx-1.4.2.zip解压到F:\server\nginx-1.4.2里面. dos命令键入: F: cd F:\server\nginx-1.4.2 ...

  3. Ajax以及类似百度搜索框的demo

    public class Ajax01 extends HttpServlet{ @Override protected void service(HttpServletRequest request ...

  4. Hibernate 多对一

    Hibernate的many-to-one 关联. 具体看配置文件: <?xml version="1.0"?> <!DOCTYPE hibernate-mapp ...

  5. 使用Sphinx生成静态网页

    转载来自 http://www.ibm.com/developerworks/cn/opensource/os-sphinx-documentation/ 简介 Sphinx 是一种工具,它允许开发人 ...

  6. Week7(10月24日)

    Part I:提问  =========================== 1.数据验证属性的练习. 按要求写出教室和课程的模型类. (1)教室类主键不自动增值,手工输入. (2)教室名字不超过10 ...

  7. JavaScript弹出框

    confirm(str); 参数说明: str:在消息对话框中要显示的文本 返回值: Boolean值 返回值: 当用户点击"确定"按钮时,返回true 当用户点击"取消 ...

  8. DG创建和提取虚拟机文件

    http://www.cr173.com/soft/33359.html http://www.diskgenius.cn/help/newvmdk.php

  9. Windows Phone 8初学者开发—第19部分:设置RecordAudio.xaml页面

    原文 Windows Phone 8初学者开发—第19部分:设置RecordAudio.xaml页面 原文地址:  http://channel9.msdn.com/Series/Windows-Ph ...

  10. oschina iOS代码库

    iOS代码库 34Activity 54下拉刷新(pull-to-refresh) 143菜单 (Menu) 20位置信息(GPS/Location) 24iOS 表单 74提醒 (Notificat ...