您的位置:首页 > 其它

InnoDB中文参考手册---2InnoDB启动选项

2008-04-30 08:40 597 查看
InnoDB中文参考手册---犬犬(心帆)翻译2InnoDB启动选项
为了在-Max-3.23中使用InnoDB表,你必须在配置文件‘my.cnf’或‘my.ini’(WINDOWS系统)中的[mysqld]区中详细指定配置参数。

作为最小设置,在3.23中你必须在InnoDB_data_file_path上指定数据文件名能及大小。如果在‘my.cnf’中没有指定InnoDB_data_home_dir,系统将在MySQL的datadir目录下创建数据文件。如果将InnoDB_data_home_dir设为一个空串,那可以在InnoDB_data_file_path中给定一个绝对路径。在MySQL-4.0中可以不设定InnoDB_data_file_path:MySQL-4.0将默认地在datadir目录下建立一个10MB大小自扩充(auto-extending)的文件‘ibdata1’(在MySQL-4.0.0与4.0.1中数据文件的大小为64MB并且是非自扩充的(notauto-extending))。

为了得到更好的性能你必须所示的例子明确地设定InnoDB启动参数。

从3.23.50版和4.0.2版开始,InnoDB允许在InnoDB_data_file_path中设置的最一个数据文件描述为auto-extending。InnoDB_data_file_path语法如下所示:
pathtodatafile:sizespecification;pathtodatafile:sizespec;......;pathtodatafile:sizespec[:autoextend[:max:sizespecification]]
如果用autoextend选项描述最后一个数据文件,当InnoDB用尽所有表自由空间后将会自动扩充最后一个数据文件,每次增量为8MB。示例:
InnoDB_data_home_dir=InnoDB_data_file_path=/ibdata/ibdata1:100M:autoextend
指定InnoDB只建立一个最初大小为100MB并且当表空间被用尽时以8MB每块增加的数据文件。如果硬盘空间不足,可以再添加一个数据文件并将其放在其它的硬盘中。举例来说:先检查硬盘空间的大小,设定ibdata1文件使它接近于硬盘空余空间大小并为1024*1024bytes(=1MB)的倍数,将ibdata1明确地指定在InnoDB_data_file_path中。在此之后可以添加另一个数据文件:
InnoDB_data_home_dir=InnoDB_data_file_path=/ibdata/ibdata1:988M;/disk2/ibdata2:50M:autoextend
注意:设定文件大小时一定要注意你的OS是否有最大文件尺寸为2GB的限制!InnoDB是不会注意你的OS文件尺寸限制的,在一些文件系统中你可能要设定最大容量限制:
InnoDB_data_home_dir=InnoDB_data_file_path=/ibdata/ibdata1:100M:autoextend:max:2000M

 

一个简单的my.cnf例子。假设你的计算机有128MBRAM和一个硬盘。下面的例子是为了使用InnoDB而在my.cnf或my.ini文件中可能所作的一些配置。我们假设你运行的是MySQL-Max-3.23.50及以上版本,或MySQL-4.0.2及以上版本。

这个示例适合大部分不需要将InnoDB数据文件和日志文件放在几个盘上的Unix和Windows用户。这个例子在MySQL的datadir目录(典型的为/mysql/data)中创建一个自扩充(auto-extending)的数据文件ibdata1和两个InnoDB运行日志文件ib_logfile0和ib_logfile1以及ib_arch_log_0000000000档案文件。

[mysqld]#在这里加入其它的MySQL服务器配置#...#数据文件必须#能够容下数据与索引#确定有足够的#磁盘空间InnoDB_data_file_path=ibdata1:10M:autoextend#设置缓冲池的大小为#你的主内存大小的#50-80%set-variable=InnoDB_buffer_pool_size=70Mset-variable=InnoDB_additional_mem_pool_size=10M#设置日志文件的大小约为#缓冲池(bufferpool)#大小的25%set-variable=InnoDB_log_file_size=20Mset-variable=InnoDB_log_buffer_size=8M#如果丢失最近几个事务影响#不大的话可以设置#.._flush_log_at_trx_commit=0InnoDB_flush_log_at_trx_commit=1

InnoDB不会自己建立目录,必须自己使用命令建立相应的目录。检查你的MySQL服务程序在datadir目录里有足够的权限建立文件。1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: