这个文件超级大, 查了一下, 大概的作用如下
是储存的格式 INNODB类型数据状态下, ibdata用来储存文件的数据 而库名的文件夹里面的那些表文件只是结构而已 由于mysql4.1默认试innodb,所以这个文件默认就存在了http://man.chinaunix.net/database/mysql/inonodb_zh/2.htm 这个链接试innodb的中文参考, innodb的东西可以在my.ini中设置 innodo中文参考全文如下 InnoDB 启动选项为了在 MySQL-Max-3.23 中使用 InnoDB 表,你必须在配置文件‘my.cnf’或‘my.ini’(WINDOWS系统)中的 作为最小设置,在 3.23 中你必须在 为了得到更好的性能你必须所示的例子明确地设定 InnoDB 启动参数。 从 3.23.50 版和 4.0.2 版开始,InnoDB 允许在 pathtodatafile:sizespecification;pathtodatafile:sizespec;...
...;pathtodatafile:sizespec[:autoextend[:max:sizespecification]]
如果用 autoextend 选项描述最后一个数据文件,当 InnoDB 用尽所有表自由空间后将会自动扩充最后一个数据文件,每次增量为 8 MB。示例:
innodb_data_home_dir =
innodb_data_file_path = /ibdata/ibdata1:100M:autoextend
指定 InnoDB 只建立一个最初大小为 100 MB 并且当表空间被用尽时以 8MB 每块增加的数据文件。如果硬盘空间不足,可以再添加一个数据文件并将其放在其它的硬盘中。 举例来说:先检查硬盘空间的大小,设定 ibdata1 文件使它接近于硬盘空余空间大小并为 1024 * 1024 bytes (= 1 MB)的倍数, 将 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 例子。 假设你的计算机有 128 MB RAM 和一个硬盘。下面的例子是为了使用 InnoDB 而在 my.cnf 或 my.ini 文件中可能所作的一些配置。我们假设你运行的是 MySQL-Max-3.23.50 及以上版本,或 MySQL-4.0.2 及以上版本。 这个示例适合大部分不需要将 InnoDB 数据文件和日志文件放在几个盘上的 Unix 和 Windows 用户。这个例子在 MySQL 的 [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 服务程序在 注意:在某些文件系统中 数据文件大小必须小于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 放在哪里?规则如下 :
Unix 下在哪里指定配置文件?在 Unix 下 mysqld 按下列顺序搜索配置文件:
./configure 设置指定 (典型的是 /usr/local/mysql/data 二进制安装或 /usr/local/var 以源安装)。
如果不有确定 mysqld 从哪里读取 my.cnf 或 my.ini,可以在第一命令行上详细指定它的目录: InnoDB 的数据文件目录是对 一个高级的 my.cnf 示例。假设你有一台 2 GB RAM 和3个 60 GB 硬盘(路径分别为 "/", "/dr2" 和 “/dr3”)装有 Linux。下面的例子是为了使用 InnoDB 而在 my.cnf 文件中可能所作的一些配置。 注意:InnoDB 不会自己创建文件目录:你必须自己创建它们。使用 Unix 或 MS-DOS [mysqld]
#在这里加入其它 的 MySQL 服务器配置
#...
# 如果不使用InnoDB表将一列一行注释去除
# skip-innodb
#
# 数据文件必须
# 能够容下数据与索引
# 确定有足够的
# 磁盘空间
innodb_data_file_path = /ibdata/ibdata1:2000M;/dr2/ibdata/ibdata2:2000M:autoextend
# 设置缓冲池的大小为
# 你的主内存大小的
# 50 - 80 %,但是
# 在 Linux x86 总内存
# 使用必须小于 2 GB
set-variable = innodb_buffer_pool_size=1G
set-variable = innodb_additional_mem_pool_size=20M
innodb_log_group_home_dir = /dr3/iblogs
# .._log_arch_dir 必须和
# .._log_group_home_dir一样;
# 从 4.0.6开始,可以省略它
innodb_log_arch_dir = /dr3/iblogs
set-variable = innodb_log_files_in_group=3
# 设置日志文件的大小约为
# 缓冲池(buffer pool)
# 大小的 15 %
set-variable = innodb_log_file_size=150M
set-variable = innodb_log_buffer_size=8M
# 如果丢失最近几个事务影响
# 不大的话可以设置
# .._flush_log_at_trx_commit = 0
innodb_flush_log_at_trx_commit=1
set-variable = innodb_lock_wait_timeout=50
#innodb_flush_method=fdatasync
#set-variable = innodb_thread_concurrency=5
注意:我们已在不同的硬盘上放置了两个数据文件, InnoDB 将从数据文件的底部填充表空间。在某些情况下所有的数据被分配到不同的物理硬盘中会提高数据库的性能。 将日志文件与数据文件分别放在不同的物理硬盘中对提高性能通常是很有益的。你同样可以使用一个 RAW 磁盘分区( raw disk partitions(raw devices)) 作为数据文件, 在一些 Unixe 系统中这将提高 I/O 能力。 如何在 my.cnf 中详细指定它们请查看第 12.1 节。 警告:在 Linux x86 上必须小心不能将内存使用设置太高, glibc 会把进程堆增长到线程堆栈之上,这将会使服务器崩溃。下面的接近或超过于 2G 将会很危险: innodb_buffer_pool_size + key_buffer +
max_connections * (sort_buffer + record_buffer) + max_connections * 2 MB
每个线程将使用 2MB(MySQL AB 二进制版本为 256 KB)的堆栈,在最坏的环境下还会使用 sort_buffer + record_buffer 的附加内存。
如何调整其它的 mysqld 服务器参数?查看 MySQL 用户手册可以得到更详细的信息。适合大多数用户的典型参数如下所示: skip-locking
set-variable = max_connections=200
set-variable = record_buffer=1M
set-variable = sort_buffer=1M
# 设置索引缓冲(key_buffer)大小为
# 你的 RAM 的 5 - 50% ,这主要依赖于
# 系统中 MyISAM 表使用量。
# 但是必须保证索引缓冲(key_buffer)与 InnoDB
# 的缓冲池(buffer pool)大小总和
# 小于 RAM 的 80%。
set-variable = key_buffer=...
注意:在 my.cnf 文件中有些参数是为了设置数字的,它们的设置格式为: 各设置参数的含义如下:
|