目前状态..
这个数据库
含有4840多个表,其中4800个表共含有 数据 1100W少一点,
然后有36个表 含有1100W 少一点然后我用java程序处理其中36个表,将他们的数据又存入 新的 36个表里面意思就是一共有3300w记录..以前运行没问题,但是自从 有次我同时运行 2个java程序以后..就出现了 the table 'my_table' is full (数据库存在my_table表)过了两天.这个异常又变成
the table '#sql-xx' is full (数据库不存在#sql-xx表)然后在mysql的data目录中..我发现 ibdata1 文件(应该就是保存数据的文件吧) 已经达到 3.99G ..
(为什么mysql不创建第二个保存数据的文件--如ibdata2 ........)我是windows Xp (好像单个文件4G?) ,数据表创建的时候表格是 MyIs.....现在根本不知道咋办了?网上用的修改 tem_table_size=64Mmax_heap_table_size=32M
我也用了..现在不知道杂办了..!!
知道的前辈给点意见啊...
这个数据库
含有4840多个表,其中4800个表共含有 数据 1100W少一点,
然后有36个表 含有1100W 少一点然后我用java程序处理其中36个表,将他们的数据又存入 新的 36个表里面意思就是一共有3300w记录..以前运行没问题,但是自从 有次我同时运行 2个java程序以后..就出现了 the table 'my_table' is full (数据库存在my_table表)过了两天.这个异常又变成
the table '#sql-xx' is full (数据库不存在#sql-xx表)然后在mysql的data目录中..我发现 ibdata1 文件(应该就是保存数据的文件吧) 已经达到 3.99G ..
(为什么mysql不创建第二个保存数据的文件--如ibdata2 ........)我是windows Xp (好像单个文件4G?) ,数据表创建的时候表格是 MyIs.....现在根本不知道咋办了?网上用的修改 tem_table_size=64Mmax_heap_table_size=32M
我也用了..现在不知道杂办了..!!
知道的前辈给点意见啊...
repair table table_name试试
贴结果
ALTER TABLE tbl_name MAX_ROWS=1000000000 AVG_ROW_LENGTH=123
4GB的限制是对于每一个表?---如果是.我每一个表的数据远远不到1个G吧..一个表最多也就30w条记录还是一个mysql存储的数据最多只能是4GB?应该不会吧我是Fat32的格式
试试
1. shut down mysqld cleanly
2. remove ib_logfile* files in your mysql data directory, which is possibly /var/lib/mysql
innodb_data_file_path = ibdata1:10M:autoextend3. restart mysqld again and check all tables are fine.
一般这个文件大小不会减少只会增加,不过你删除记录后可以用 optimize table <table name>, 让mysql优化一下,但这个操作比较耗时已经3.99G了,当然有没办法继续再增长了。
分析的相当对,已经达到限制度了,所以会提示FULL了!这个你得改一下子!或创建另一个存储区域!
现在不会出现 table ... is full了!!但是我想知道一下有没有其他的方法?比如楼上说的 怎么创建另一个 存储区域??
那意思就是 如果系统文件系统是fat32的话..
mysql就只能创建一个存储内容的 ibdata1 文件??
因为 就象我帖子所说的..
mysql似乎不会创建一个新的存储数据的文件?
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
http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html#adding-and-removing