mysql错误日志中打印“The table xxx is full”的处理方法

某现场项目的mysql错误日志中打印

2019-03-17 17:55:02 11718 [ERROR] /usr/sbin/mysqld: The table 'member_mini_info' is full
2019-03-18 17:55:03 11718 [ERROR] /usr/sbin/mysqld: The table 'member_mini_info' is full
2019-03-19 17:55:03 11718 [ERROR] /usr/sbin/mysqld: The table 'member_mini_info' is full

show create table mob_report.member_mini_info;
发现是内存表
show variables like ‘max_heap_table_size’
发现是16M

查看该表实际已占用的大小

select table_name, truncate(sum(data_length)/1024/1024,2) as data_size_MB,
truncate(sum(index_length)/1024/1024,2) as index_size_MB
from information_schema.tables where table_schema = ‘mob_report’
group by table_name
order by data_size_MB desc;

在这里插入图片描述
刚好16M

解决方法:

mysql出现"the table is full"的问题,一般有两个原因:
一 .You are using the MEMORY (HEAP) storage engine; in this case you need to increase the value of the max_heap_table_size system variable. See Section 5.1.3, “Server System Variables”.

ERROR 1114 (HY000) at line 1720: The table ‘XXXX’ is full

于是就修改Mysql的配置文件my.ini,在[mysqld]下添加/修改两行:
tmp_table_size = 256M
max_heap_table_size = 256M

系统默认是16M,修改完后重启mysql

二.硬盘空间满了,清理硬盘即可.
不要被mysql的安装目录所欺骗, 最好亲自去看看数据存放目录是哪
在my.ini 搜索 datadir

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值