我使用Tomcat7作为服务器,在openshift上创建了一个可伸缩的java应用程序。应用程序连接到安装在单独设备上的MySQL数据库。整个数据库的大小约为500MB。数据库只有一个表,它几乎占数据库大小的80%,并且有一个全文列。
在恢复数据库时,我使用以下命令禁用了表的键:
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 TABLE和REPAIR TABLE,但是数据库服务器挂起了。过了一段时间后,我开始收到这个错误:
ERROR 144 (HY000): Table './lib/lbpage' is marked as crashed and last (automatic
?) repair failed我试过使用小档和中档,但结果是一样的。
我不确定数据库是否达到了openshift设置的任何限制?另外,有没有什么方法可以微调mysqld守护进程?
发布于 2014-07-01 02:38:02
作为第一步,请检查齿轮上的磁盘使用情况。然后查看Mysql日志是否显示任何其他错误,并发布导致此错误的错误。
默认情况下,每个设备都可以访问1 1GB的存储空间。在可扩展的应用程序中,您的磁盘空间为1 db,仅用于存储数据库设备上的数据。您的DB设备上有多少空闲磁盘空间?"alter table“命令创建一个副本并使用400 as (根据上面的注释,占整个数据库的80%)。如果是存储,您可以将其增加到2 2GB,看看这是否解决了问题。
如果这不是根本原因,请添加导致错误的任何mysql日志,以及mysql数据库服务器和客户端版本。
https://stackoverflow.com/questions/24437757
复制相似问题