2015-02-07 66 views
1

我使用WordPress与MySQL。我的网站最近崩溃了(由于数据库内存不足)MySQL表只在修复后崩溃

一旦网站启动,它似乎很好,但只是以防万一我在数据库上运行“修复”(从phpmyadmin)。之后,它崩溃了我的“wp_posts”表。我再次从旧版本恢复数据库 - 表看起来很好。再次,我跑了“修理”和同一张桌子坠毁。

我在VPS服务器上。所以我没有root访问权限,但我可以让网络管理员检查事情。

任何想法可能会导致这/如何解决它?

谢谢。

回答

1

这是一个MySQL服务器配置问题。我有同样的问题。在我的情况下,这是由于一个名为myisam_sort_buffer_size的MySQL系统变量被设置为一个荒谬的小值(4096)。这干扰了repair table操作。就我而言,wp_posts文件和其他文件使用了MyISAM访问方法。如果你使用InnoDB,你会想看看控制访问方法的变量而不是MyISAM。

发出此命令你的MySQL服务器:

show variables like '%buffer_size' 

然后寻找这似乎低变量。

您可能还想看看MySQL服务器错误日志文件。

如果您自己运行服务器,请注意配置更改:首先阅读文档页面。 http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html

如果您的托管服务提供商运行服务器,请输入请求票据,请求升级到知道MySQL的支持人员,并具体说明发生了什么问题。

+0

嗨Ollie,谢谢你的回答。我的数据库(和表)使用MyISAM。这位支持者最终跑完了:“myisamchk”似乎并没有破坏桌子,之后正常修复似乎已经奏效。这对你有意义吗? (根据你的回复) – 2015-02-07 14:40:16

+1

是的,它的确如此。这听起来像你的表是腐败的,它不是(在你的情况下)一个服务器错误配置。有备份很好,呃? – 2015-02-07 14:44:11

+0

WP-dbmanager是我心目中的英雄在这种情况下:) – 2015-02-07 14:47:39