ibdata用来储存 innodb 文件的数据
会越来越大,太大的时候要清除:
导出所有的数据,重建数据库,然后恢复数据:
如果只删除InnoDB的文件ibdata1,mysql会死掉同时要删除data目录下的ib_logfile0,ib_logfile1二个文件。
在my.ini 中配置
[mysqld]
#对每张表使用单独的innoDB文件
innodb_file_per_table
一个高级的 my.cnf 示例。 假设你有一台 2 GB RAM 和3个 60 GB 硬盘(路径分别为 "/" , "/dr2" 和 “/dr3” )装有 Linux。下面的例子是为了使用 InnoDB 而在 my.cnf 文件中可能所作的一些配置。
注意:InnoDB 不会自己创建文件目录:你必须自己创建它们。 使用 Unix 或 MS-DOS mkdir
命令建立相应的数据与日志文件目录。
[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