mysql出现“the table xxx is full”的问题

mysql数据库错误日志里出现“the table xxx is full”,第一反应是硬盘空间不足了,检查发现硬盘还有很大空间

The table 'xxx' is full

查看'xxx'表,发现该表为内存表,而且表的大小到了2个多G,我设置的是2G,可以通过

mysql> show variables like '%max_heap%';
+---------------------+------------+
| Variable_name       | Value      |
+---------------------+------------+
| max_heap_table_size | 2097152000 |
+---------------------+------------+
1 row in set (0.00 sec)

解决方法,是删数据还是修改此参数,看实际应用情况了。不过一个内存表能到2G个以上也是不太好的,内存毕竟有限。、

出现此报错原因还有一个,那就是实际操作中,产生的临时表太大了,临时表的大小由参数tmp_table_size决定,默认为16M

可以参考http://blog.chinaunix.net/uid-16844903-id-3026988.html

原文地址:https://www.cnblogs.com/xuxyblog/p/4425111.html