解决办法是修改max_heap_table_size参数,改大以足够容纳表的大小,比如512M。
在my.cnf中增加:
max_heap_table_size=512M
重启MySql即可。
btw,如果是MyISAM引擎出现'Table' is full异常,那么就是数据库文件超过文件大小系统,比如fat32,低版本的Linux,文件最大不可以大于2G,这需要转换fat32为NTFS,或升级Linux版本。
mysql表是随着数据自动增长的,报table is full 应该是数据导入或导出 *** 作时,表数据过大,临时表不够用导致的。你尝试修改以下这个配置的大小,修改到32m试试,不要过大。
tmp_table_size=13M
内存表有大小限制,内存文件超过 my.ini 中设置以后,会自动转换部分到硬盘。内存表所占内存以固定的大小分配空间,即使一个表中只有一条记录,也可能占几M空间。内存表是有大小限制的,在 my.ini 中可以设置,当内存大小达到限制时,可能会报错:#1114: The table ‘XXX’ is full 。上面是我实际遭遇到的,但是 my.ini 中有下面这段:# Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to disk
# based table This limitation is for a single table. There can be many
# of them.
tmp_table_size=13M
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)