原文地址:解决mysql出现“the table is full”的问题 作者:huifeideluotuo
今天中午收到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的Table is full问题 最近使用Mysql的Memory引擎时,出现了'Table’ is full的异常。解决办法是修改max_heap_table_size参数,改大以足够容纳表的大小,比如512M。
根据经验,The table is full提示往往出现在以下两种情况: 1. 表中设置了MAX_ROWS值,简单的说,若MAX_ROWS设置为100,而程序试图写入第101条记录,会出现此错误。 2. 表满。这种情况是本文讨论的重点 ...
总是会出现这样那样的你想不到的问题。崩溃了。首先来罗列一下我遇到过的一些问题吧。 1、大小写敏感 2、连接数超过系统最大连接数 3、Can’t connect to local MySQL server through socket ‘/Data/mydata/mysql....
18.2.3 Host '...' is blocked错误 18.2.4 Out of memory错误 18.2.5 Packet too large错误 18.2.6 The table is full错误 18.2.7 Commands out of sync in client错误 18.2.8 Ignoring ...
+ 4.15.2 启动 MySQL 服务器的问题 + 4.15.3 自动启动和停止 MySQL + 4.15.4 选项文件 o 4.16 升级和降级(downgrading)时有什么特别要做的事情吗? + 4.16.1 从一个 3.22 版本升级到 3.23 + 4.16.2 从一个 ...
1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 ...
针对上述问题,可以采取以下步骤来解决问题: 1. **调整表的字符集**: - 登录到MySQL数据库:在命令行窗口输入`mysql -h localhost -u root -p`并按回车键。 - 查看表结构:使用`SHOW FULL COLUMNS FROM table_...
Get full control over the changes you have made, the heuristics feature will suggest the column type on creating a column basing on the name you enter. More on table designer Database ...
8. **The table is full**: 内存中的临时表超过`tmp_table_size`限制时会出现这个错误。这可能需要增加`tmp_table_size`或者优化查询,减少内存中临时表的大小。 9. **Commands out of sync**: 这通常发生在...
-The EmptyTable method is added to TUniTable -The SQL property is added to TUniConnection -Support for the Upper and Lower statements in TDADataSet.Filter is added -Support for the ftOraTimeStamp type...
9. 错误代码1114: "The table 'tablename' is full",这表明数据库空间不足,需要扩展磁盘空间或优化数据存储。 10. 错误代码2003: "Can't connect to MySQL server on 'hostname' (errno: X)",通常是因为网络问题...
本文主要关注的是几个常见的问题及其解决方案,包括因`sql_mode=only_full_group_by`导致的GROUP BY查询错误、清空表数据的方法,以及如何处理MySQL占用过多内存的情况。 首先,`sql_mode=only_full_group_by`是...
总的来说,理解和掌握MySQL的存储引擎特性,以及如何应对可能出现的问题,对于优化数据库性能和确保数据完整性至关重要。在日常操作中,定期维护、合理规划存储空间以及选择适合业务需求的存储引擎,都是数据库管理...
这些错误代码提供了对MySQL操作时可能出现的问题的洞察,并指示了解决这些问题的方法。例如,如果遇到错误1022,可能需要检查插入的数据是否符合表的唯一约束;如果遇到错误1048,可能需要确保所有非空列都有非NULL...
MySQL 是一款广泛使用的开源关系型数据库管理系统,对于面试者来说,掌握其核心概念和技术至关重要...在面试中,能够结合实际工作场景讨论问题解决方案,展示对 MySQL 深入理解和实践经验,将大大提升面试者的竞争力。
- MySQL支持多种类型的索引,包括B-Tree(默认)、Hash、R-Tree和Full-text等。 - B-Tree索引适用于范围查询和排序,是最常见的索引类型。 - Hash索引适用于等值查询,速度非常快,但不支持范围查询或排序。 - ...
1. 数据库模型:WMS数据库通常采用关系型数据库模型,如MySQL、Oracle或SQL Server等,这是因为关系型数据库能够有效地处理复杂的事务处理和数据关联,满足WMS的高并发需求。 2. 规范化设计:为了减少数据冗余和...
MySQL是一种广泛使用的开源关系型数据库管理系统,其语法简洁明了,功能强大,是许多开发者进行数据存储和管理的首选工具。本资料包主要涵盖了MySQL的常用语法命令和函数,以及与"emp"和"dept"两个示例表格相关的...