两天前,我安装了 RoundCube 邮件脚本,用于:
PHP
Name : php
Arch : x86_64
Version : 5.3.18
Release : 1.el6.remi
MySQL
Name : mysql
Arch : x86_64
Version : 5.5.28
Release : 1.el6.remi
直到今天早上一切正常,脚本指出 Round Cube 数据库有问题。我在看目录有多奇怪:
/var/lib/mysql/roundcubemail
只有 frm 文件,没有任何 .myd 或 .myi
cache.frm
cache_index.frm
cache_messages.frm
cache_thread.frm
contactgroupmembers.frm
contactgroups.frm
contacts.frm
db.opt
dictionary.frm
identities.frm
searches.frm
session.frm
users.frm
我的服务器有 12 个数据库,现在只有 Round Cube db 缺少 .myd .myi 文件。重新安装这个脚本不是问题,但我很想弄清楚这个数据库发生了什么,并确保它不会再次发生。
MySQL 错误日志只有以下信息:
121117 7:38:06 [ERROR] Cannot find or open table roundcubemail/session from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.
See http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
how you can resolve the problem.
我的问题是:有没有其他方法可以跟踪这种情况并找到数据库刚刚消失的原因?