InnoDB部分常用参数解析

2015-03-05 23:53:05 · 作者: · 浏览: 81

InnoDB部分常用参数解析


一、文件(数据文件、日志文件)


1、相关参数:


innodb_data_home_dir


innodb_data_file_path=file_name:file_size[:autoextend[:max:max_file_size]]


注:


a、innodb_data_file_path的值应该为一个或多个 数据文件规格的列表。如果命名一个以上的数据文件,用 分号(‘;’)分隔它们


b、autoextend属性和后面跟着的属性只可被用来对innodb_data_file_path行里最后一个数据文件。


c、InnoDB不创建目录,所以在启动服务器之前请确认/ibdata目录的确存在


d、如果没有指定innodb_data_home_dir,则默认为mysql数据目录


e、如果你指定innodb_data_home_dir为一个空字符串,你可以为列在innodb_data_file_path值里的数据文件指定绝对路径。


[mysqld]


innodb_data_home_dir =


innodb_data_file_path=/ibdata/ibdata1:50M;/ibdata/ibdata2:50M:autoextend


二、参数


1、innodb_autoextend_increment(动态,默认为8M)


当自动扩展表空间被填满之时,为扩展而增加的尺寸(MB为单位)。


2、innodb_fast_shutdown(动态,默认为1)


0:在关闭之前做一个完全净化、插入缓冲合并和刷脏页,最慢,但重启最快


1:InnoDB在关闭之时跳过purge和insert buffer merge,只刷脏页


2:刷新日志并强制关闭,类似crash,数据不会丢,但在启动时会做一次崩溃恢复


mysql在关闭的时候进行的操作:


1、purge all:删除无用的undo页


2、merge insert buffer


3、flush dirty page


3、innodb_lock_wait_timeout


InnoDB事务在回滚之前可以等待一个锁定的秒数


4、innodb_max_dirty_pages_pct


InnoDB中的主线程试着从缓冲池写页面,使得脏页的百分比不超过这个值。


在show innodb status的log段中,可以查看Last checkpoint at与Log flushed up to的距离判断当前脏页的情况


在BUFFER POOL AND MEMORY中,查看Modified db pages与Buffer pool size的比例关系,该值约等于innodb_max_dirty_pages_pct


5、innodb_mirrored_log_groups(默认为1,没有镜像)


数据库保持的日志组内同样拷贝的数量。


6、innodb_open_files


在InnoDB中,这个选项仅与你使用多表空间时有关。它指定InnoDB一次可以保持打开的.ibd文件的最大数目。最小值是10。 默认值300。对.ibd文件的文件描述符是仅对InnoDB的。它们独立于那些由--open-files-limit服务器选项指定的描述符,且不影响表缓存的操作。