如何解决MySql的Table is full问题

如何解决MySql的Table is full问题,第1张

最近使用MySQL的Memory引擎时,出现了'Table’ is full的异常。

解决办法是修改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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7189748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存