dolphin 的mysql意外down机后,database query error解决

Life is short , "play" more!
本文来自lihao's Blog,转载请注明。

dolphin是一个开源的sns 软件.  最近由于搭建的虚拟机意外crash,导致dolphin也无法启动了. 报如下错误. 让人一头雾水. 莫非mysql 这么脆弱.

Error
Database query error

这样的错误信息太少了, 所以不足以让我们找到病因.

在 inc/classes/BxDolDb.php 这个文件的26行, 不同的版本可能行数不同,找到如下这行内容就行.

define( ‘DB_FULL_DEBUG_MODE’, false );

把false改为true.

define( ‘DB_FULL_DEBUG_MODE’, true );

再刷新一遍页面, 错误就详细多了. 接下来,我们根据具体错误修复即可.

Error
Database query error
Query:
SELECT l.Name FROM sys_localization_languages AS l INNER JOIN Profiles AS p ON (p.LangID = l.ID) WHERE p.ID = 1
Mysql error:
Table ‘./dolphin/Profiles’ is marked as crashed and should be repaired
Found error in the file ‘/work/dolphin/inc/languages.inc.php‘ at line 151

Called ‘fromMemory‘ function with erroneous argument #2.

Debug backtrace:


Settings:

Called script: /dolphin/index.php
Request parameters:

这样找到了,原因,我们搜索以下mysql如何repair 表. 修复一下吧.

mysql repair table 的语法.

[,

] …
[QUICK] [EXTENDED] [USE_FRM][/crayon]
因为这里报的是profile table有错, 所以repair table profile

执行后, 会有信息提示repair修复是否成功.  成功后.  dolphin 的网站又正常恢复了.

 

 

此篇文章已被阅读8571 次


发表评论

电子邮件地址不会被公开。 必填项已用*标注