如何修复崩溃的WordPress数据库表

 

  WordPress数据库可能会在各种情形下遇到故障和损坏。它遇到的常见问题之一就是“数据库崩溃”。如果出现这种情况,你可以在WordPress错误日志中找到下列错误信息:

  WordPress database error Table ‘./my_home/wp_posts‘ is marked as crashed and last (automatic?) repair failed for query SELECT post_date_gmt FROM wp_posts WHERE post_status = ‘publish‘ AND post_type IN (‘post‘, ‘page‘, ‘attachment‘) ORDER BY post_date_gmt DESC LIMIT 1 made by require(‘wp-blog-header.php‘), wp, WP->main, WP->send_headers, get_lastpostmodified, get_lastpostdate, _get_last_post_time

  这类数据库表崩溃的症状多种多样。你的WordPress博客可能出现不一样的异常,这取决于崩溃的是哪个表。如果崩溃的表是里面含有一系列博文的“wp_posts”表,你就看不到博客里面的任何帖子。Xmodulo网站就在上个周末遇到了这种数据库崩溃:

  

技术分享

  Xmodulo的WordPress博客眼下由MySQL运行,所以我在本教程中将着重介绍MySQL。

  MySQL表为何会崩溃?

  崩溃的原因可能不一样,但通常当mysqld或mysqld运行在其中的主机在数据库更新过程中被强行关闭时,就会引发数据库崩溃。在教程的其余部分,我将介绍如何修复崩溃的WordPress MySQL数据库表。

  第一种方法

  如果你使用共享的主机托管服务,通常可以访问Cpanel,这让你可以通过Cpanel Web界面修复数据库。

  登录进入到Cpanel,点击“Databases”(数据库)部分下面的“MySQL Databases”(MySQL数据库)。

  

技术分享


  在MySQL Databases页面上,你会在“Modify Databases”(修改数据库)部分下面找到“Repair DB”(修复数据库)。

  

技术分享


  选择含有崩溃表的那个数据库,点击“Repair DB”(修复数据库)按钮。如果修复成功,你会看到每个表的状态显示为“OK”。

  

技术分享


  第二种方法

  如果你在MySQL服务器运行在上面的主机(比如VPS)上享用根目录访问权,就可以试一试命令行接口,修复崩溃的数据库表。

  就MyISAM类型的数据库而言,你可以使用名为myisamchk的命令行实用工具,修复崩溃的表。该实用工具随MySQL服务器一同安装。

  首先,停止MySQL服务器。

  

技术分享

  然后使用这个命令修复某一个表。


  技术分享

  最后,再次启动MySQL服务器。


  文章由多备份www.dbfen.com整理所得 如需转载请注明出处


本文出自 “大丸子” 博客,请务必保留此出处http://12478147.blog.51cto.com/9663367/1606971

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。