简介MySQL InnoDB存储引擎的一些参数

InnoDB做为MySQL目前最广泛的事务存储引擎,很多地方的设计和Oracle都是共通的。对于Oracle DBA 来说,学习的时候可以多和Oracle的一些特性进行类比,当然也要明白二者之间的区别。

innodb_additional_mem_pool_size

用于缓存InnoDB数据字典及其他内部结构的内存池大小,类似于Oracle的library cache。这不是一个 强制参数,可以被突破。

innodb_buffer_pool_size

内存缓冲池大小,用于缓存表和索引数据等。类似于Oracle的buffer cache,如果可能,尽可能的设 置大一点。

innodb_log_buffer_size

日志缓冲区大小,类似于Oracle的log buffer

innodb_log_file_size

日志文件大小。默认会创建2个5M大小的名为ib_logfile0和ib_logfile1的文件。日志文件的数目由参 数innodb_log_files_in_group指定。存放位置由innodb_log_group_home_dir指定。

innodb_data_file_path

指定InnoDB表空间数据文件名,大小以及其他属性。所有文件的加起来不能少于10M。多个数据文件之 间以逗号分割,属性之间以冒号分割。默认创建一个大小10MB名为ibdata1的可自动扩展的数据文件,一 般在生产环境中都需要根据实际情况指定,由于往表空间中添加数据文件需要停机,尽量在规划的时候做 好准备,如果可以的话最好开启最后一个数据文件的自动增长属性。数据文件的个数在规划的时候还需要 考虑另外一个innodb_open_files参数。

innodb_file_per_table

取值为ON或者OFF。是否为每个table使用单独的数据文件保存。如果系统中表的个数不多,并且没有 超大表,使用该参数可以使得各个表之间的维护相对独立,有一定的好处。

innodb_autoextend_increment

当自动扩展表空间被填满之时,每次扩展空间的大小,默认值是8(单位MB)。该参数可以动态修改:

mysql> set global innodb_autoextend_increment=10;

Query OK, 0 rows affected (0.01 sec)

innodb_status_file

定期将show inndb status的结果输出保存到文件中,建议开启以便分析性能。

时间: 2024-08-24 11:34:15

简介MySQL InnoDB存储引擎的一些参数的相关文章

MySQL InnoDB存储引擎的事务隔离级别

我们知道,在关系数据库标准中有四个事务隔离级别: 未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据 提交读(Read Committed):只能读取到已经提交的数据.Oracle等多数数据库默认都是该级别 可重复读(Repeated Read):可重复读.在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别.在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读 串行读(Serializable):完全串行化的读,每次读都需

Mysql innodb存储引擎体系架构

《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版》——2.1 InnoDB存储引擎概述

2.1 InnoDB存储引擎概述 InnoDB存储引擎最早由Innobase Oy公司开发,被包括在MySQL数据库所有的二进制发行版本中,从MySQL 5.5版本开始是默认的表存储引擎(之前的版本InnoDB存储引擎仅在Windows下为默认的存储引擎).该存储引擎是第一个完整支持ACID事务的MySQL存储引擎(BDB是第一个支持事务的MySQL存储引擎,现在已经停止开发),其特点是行锁设计.支持MVCC.支持外键.提供一致性非锁定读,同时被设计用来最有效地利用以及使用内存和CPU. Hei

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

3.1 参数文件 在第1章中已经介绍过了,当MySQL实例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定的顺序在指定的位置进行读取,用户只需通过命令mysql--help | grep my.cnf来寻找即可. MySQL数据库参数文件的作用和Oracle数据库的参数文件极其类似,不同的是,Oracle实例在启动时若找不到参数文件,是不能进行装载(mount)操作的.M

《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.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版》——2.3 InnoDB体系架构

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

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

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