[mysqld] #在这里加入其它 的 mysql 服务器配置 #... # 数据文件必须 # 能够容下数据与索引 # 确定有足够的 # 磁盘空间 innodb_data_file_path = ibdata1:10m:autoextend # 设置缓冲池的大小为 # 你的主内存大小的 # 50 - 80 % set-variable = innodb_buffer_pool_size=70m set-variable = innodb_additional_mem_pool_size=10m # 设置日志文件的大小约为 # 缓冲池(buffer pool) # 大小的 25 % set-variable = innodb_log_file_size=20m set-variable = innodb_log_buffer_size=8m # 如果丢失最近几个事务影响 # 不大的话可以设置 # .._flush_log_at_trx_commit = 0 innodb_flush_log_at_trx_commit=1
innodb 不会自己建立目录,必须自己使用操作系统命令建立相应的目录。检查你的
mysql 服务程序在 datadir 目录里 有足够的权限建立文件。
注意:在某些文件系统中 数据文件大小必须小于2g! 所有运行日志文件的大小总和必须小于 2g 或 4g,这依赖于具体的 mysql 系统版本。 数据文件的总和必须大于等于 10 mb.
当第一次建立 innodb 数据库时,建议最好以命令行方式启动 mysql 服务。这样 innodb 数据库建立时的提示信息将在屏幕上显示,从而可以看到建立过程。 下面第 3 节所示就是 innodb 数据库建立时的屏幕显示。例如,在 windows 下使用下列指令启动 mysqld-max.exe :
your-path-to-mysqld>mysqld-max --console
在 windows 系统下 my.cnf 或 my.ini 放在哪里?规则如下 :
- 只能存在一个 my.cnf 或 my.ini 文件
- my.cnf 文件必须放在 c: 的根目录下
- my.ini 文件必须放在
windir 目录下,例:c:\windows 或 c:\winnt。可以使用 ms-dos 的
set命令查看 windir 目录值 - 如果你的 pc 使用启动引导程序引导系统而 c: 不是启动磁盘,那只能唯一地使用 my.ini 作为设置文件
unix 下在哪里指定配置文件?在 unix 下 mysqld 按下列顺序搜索配置文件:
- /etc/my.cnf 全局选项
- compilation_datadir/my.cnf 服务器范围的选项
- defaults-extra-file
采用
--defaults-extra-file=.... 设置的默认文件 - ~/.my.cnf 用户指定文件
./configure 设置指定 (典型的是
/usr/local/mysql/data 二进制安装或 /usr/local/var 以源安装)。
如果不有确定 mysqld 从哪里读取
my.cnf 或 my.ini,可以在第一命令行上详细指定它的目录:mysqld --defaults-file=your_path_to_my_cnf。
innodb 的数据文件目录是对 innodb_data_home_dir
与 innodb_data_file_path 的数据文件名或目录联合 ,如果需要将在它们之间增加一个“/”或“\”。如果关键字
innodb_data_home_dir 没有在 my.cnf 中明确指定,它的默认值为“.”,即目录“./”,这意味着
mysql 的 datadir of mysql.
一个高级的 my.cnf 示例。假设你有一台 2 gb ram 和3个 60 gb 硬盘(路径分别为 "/", "/dr2" 和 “/dr3”)装有 linux。下面的例子是为了使用 innodb 而在 my.cnf 文件中可能所作的一些配置。
注意:innodb 不会自己创建文件目录:你必须自己创建它们。使用
unix 或 ms-dos mkdir 命令建立相应的数据与日志文件目录。