计划,每天学习两小时,坚持带来大改变。

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

MySQL 阿尤 2047浏览 0评论
今天中午收到mysql错误日志监控发来的警报,错误日志如下:

101209 13:13:32 [ERROR] /usr/local/mysql/bin/mysqld: The table 'test_1291870945841162' is full
101209 13:13:32 [ERROR] /usr/local/mysql/bin/mysqld: The table 'test_1291870945841162' is full
101209 13:13:32 [ERROR] /usr/local/mysql/bin/mysqld: The table 'test_1291870945841162' is full
101209 13:13:32 [ERROR] /usr/local/mysql/bin/mysqld: The table 'test_1291870945841162' is full

通过查询mysql官方站点:
http://dev.mysql.com/doc/refman/5.0/en/full-table.html 得知:
因为系统是linux,不存在操作系统和文件格式的限制,通过表的名字可以得知,该表应该是个临时表,再说数据库里面也查不到该表。

有这一句话很重要:
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”.


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

系统默认是16M,别忘记重新启动mysql,你也可以在线动态修改该参数,经过这几天的观察,这个世界安静了许多。

转载请注明:阿尤博客 » 解决mysql出现“the table is full”的问题

游客
发表我的评论 换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • 验证码 (必填)点击刷新验证码