2010-02-19 6 views
5

복잡한 열이있는 테이블이 있는데, 무거운 데이터로 채우기 시작했습니다. 그 동안 데이터가 충돌했습니다.phpMyAdmin을 사용하지 않고 MySQL 테이블을 복구하는 방법은 무엇입니까?

테이블이 손상되어보고해야하며 수리해야합니다.

phpmyadmin의 복구 테이블에서 복구 할 수 없습니다.

그런 다음 다시 채우기를 시작하기로 결정했지만 테이블 구조를 검색 할 수도 없었습니다.

어떻게 데이터를 다시 가져올 수 있습니까? 아니면 그냥 구조? 테이블이 MYISAM에있는 경우

myisamchk 확인하는 최초의 도구입니다

답변

10

PHPMyadmin은 긴 쿼리를 실행할 때 문제가 발생하는 경향이 있습니다. 특정 오류 메시지와 함께 복구 테이블을 수행하지 못한 경우 게시하십시오. 방금 달린 경우, 명령 줄 버전의 mysql을 사용하여 복구를 시도하십시오. mysql 설치의 bin 디렉토리에 있습니다.

mysql -u username -p 
mysql> use dbname; 
mysql> repair table tablename; 

테이블의 크기에 따라 시간이 좀 걸릴 수 있습니다.

그래도 작동하지 않는다면, 테이블이 MyISAM 엔진을 사용한다면 다음으로 myisamchk를 사용하는 것이 좋습니다.

+0

방금 ​​작동했습니다. 감사. – Alexar

7

(나는 AMD 쿼드에 XAMPP/Windows에서 MySQL의 실행). 이 파일은 mySQL 설치 디렉토리 /bin에 있습니다. 다음은 repair options의 목록입니다.

myisamchk을 실행하기 전에 데이터 디렉토리의 백업 복사본을 만드는 것이 좋습니다.

+0

답해 주셔서 감사합니다. 나는 그것으로부터 배웠다. – Alexar

관련 문제