3

2 日前に 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

スクリプトは、ラウンド キューブ データベースに問題があることを示しています。ディレクトリを見ているのは不思議でした:

/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.

私の質問は: この状況を追跡し、データベースが消えた理由を見つける他の方法はありますか?

4

1 に答える 1

2

.myd.myiファイルは MyISAM テーブルに対してのみ存在します。

標準の Roudcube インストール手順 (v0.8.4 で検証済み) に従った場合、テーブルは InnoDB ストレージ エンジンを使用するように設定されました。

の下にあるファイルをいじりました/var/lib/mysql/か? デフォルトでは、InnoDB テーブルは 1 つのファイルに格納されます。おそらく/var/lib/mysql/ibdata1あなたの場合です。そうでない場合は、構成ファイルでinnodb_data_file_pathディレクティブを探します。my.cnf

于 2012-11-28T20:47:02.060 に答える