2012-11-26 3 views
3

이틀 전이 작업 RoundCube 메일 스크립트를 설치 한 :MySQL DB가 어떻게되었는지 추적하는 방법이 사라졌습니다.

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 

아무것도 오늘 아침까지 단지 큰 일

PHP 스크립트 라운드 큐브 데이터베이스에 문제가 있음을 의미한다 . 의심 나는 디렉토리에서 찾고되었다 방법 : 만 FRM 파일을이

/var/lib/mysql/roundcubemail 

없음 상관 .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 데이터베이스와 이제 라운드 큐브 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. 

내 질문은 :이 상황을 추적하고 데이터베이스 그냥 사라진 이유를 찾을 수있는 다른 방법이 있습니까?

답변

2

.myd.myi 파일은 MyISAM 테이블에만 존재합니다.

표준 Roudcube 설치 절차 (v0.8.4에서 확인)를 따른 경우 테이블은 InnoDB 스토리지 엔진을 사용하도록 설정됩니다.

/var/lib/mysql/ 아래의 파일이 있습니까? 기본적으로, InnoDB 테이블은 하나의 단일 파일에 저장되며 아마도 /var/lib/mysql/ibdata1 일 것이다. 그렇지 않은 경우 my.cnf 구성 파일에서 innodb_data_file_path 지시어를 찾으십시오.

+0

내 잘못 이었어, Roundcube는 실제로는 innodb를 사용하고 db 파일은/var/lib/mysql /에 있어야한다. –