具有FULLTEXT索引的MySQL表的大小/文件限制

时间:2014-06-26 18:34:49

标签: openshift

我使用Tomcat 7作为服务器在openshift上创建了一个可伸缩的java应用程序。应用程序连接到安装在单独设备上的MySQL数据库。整个数据库大小约为500MB。该数据库有一个表,几乎占数据库大小的80%,并且有一个FULLTEXT列。

当我恢复数据库时,我使用命令禁用了表的键:

alter table lbpage disable keys;

加载数据后,我发出以下命令来启用密钥:

alter table lbpage enable keys;

大约15-20分钟后,我收到以下错误:

mysql> alter table lbpage enable keys;
Query OK, 0 rows affected, 2 warnings (14 min 10.26 sec)

mysql> show warnings;
+-------+------+---------------------------------------------------+
| Level | Code | Message                                           |
+-------+------+---------------------------------------------------+
| Error |    3 | Error writing file '/tmp/STfYgR6M' (Errcode: 122) |
| Error | 1034 | 122 when fixing table                             |
+-------+------+---------------------------------------------------+
2 rows in set (0.00 sec)

我为该表尝试了OPTIMIZE TABLEREPAIR TABLE,但数据库服务器只是挂起。过了一会儿,我开始收到这个错误:

ERROR 144 (HY000): Table './lib/lbpage' is marked as crashed and last (automatic
?) repair failed

我尝试过使用小型装备和中型装备 - 但结果是一样的。

我不确定数据库是否达到openshift设置的任何限制?另外,有什么方法可以微调mysqld守护进程吗?

1 个答案:

答案 0 :(得分:0)

作为第一步检查齿轮上的磁盘使用情况。然后查看Mysql日志是否显示任何其他错误并发布导致此错误的错误。

默认情况下,您的齿轮每个都可以访问1GB的存储空间。在可扩展的应用程序上,您的磁盘空间仅为1GB,用于db齿轮上的数据。您的数据库设备有多少可用磁盘空间? " alter table"命令制作一份副本并使用400GB(按照上面的注释,占总数据库的80%)。如果是存储空间,您可以将其增加到2GB以查看是否能解决问题。

如果这不是根本原因,请添加导致错误的任何mysql日志,以及mysql db server vs client版本。