이 테이블을 갑자기 수리하고 있었는데 서버가 멈추고 돌아 왔을 때 모든 테이블이 정상이지만이 테이블은 '사용 중'을 표시하고 수리하려고 할 때 진행되지 않습니다.
오류 144-테이블 './extas_d47727/xzclf_ads'가 충돌 한 것으로 표시되고 마지막 (자동?) 복구가 실패했습니다.
수리하려면 어떻게해야합니까?
이 테이블을 갑자기 수리하고 있었는데 서버가 멈추고 돌아 왔을 때 모든 테이블이 정상이지만이 테이블은 '사용 중'을 표시하고 수리하려고 할 때 진행되지 않습니다.
오류 144-테이블 './extas_d47727/xzclf_ads'가 충돌 한 것으로 표시되고 마지막 (자동?) 복구가 실패했습니다.
수리하려면 어떻게해야합니까?
답변:
MySQL 프로세스가 실행중인 경우 중지하십시오. 데비안 :
sudo service mysql stop
데이터 폴더로 이동하십시오. 데비안 :
cd /var/lib/mysql/$DATABASE_NAME
다음을 실행 해보십시오.
myisamchk -r $TABLE_NAME
그래도 작동하지 않으면 다음을 시도해보세요.
myisamchk -r -v -f $TABLE_NAME
MySQL 서버를 다시 시작할 수 있습니다. 데비안 :
sudo service mysql start
/var/lib/mysql/<database>
실행해야했습니다 myisamchk -r -v -f ./<table name>
.
myisam_sort_buffer_size is too small
이 명령은 나를 위해 일한 있도록, 오류 :myisamchk -r -v --sort_buffer_size=2G <table_name>
다음 쿼리를 실행 해보십시오.
repair table <table_name>;
나는 같은 문제가 있었고 그것은 나에게 문제를 해결했습니다.
테이블 복구 후 파일로 이동하여 data_dir
제거하십시오 .Your_table.TMP
<Your_table>
data_dir
있어요?
grep -r datadir /etc/mysql/
. /var/lib/mysql
데비안과 우분투에 있어야합니다 .
나는 기존 답변의 옵션, 주로 내 시나리오에서 작동하지 않는 올바른 것으로 표시된 옵션을 시도했습니다. 그러나 작동 한 것은 phpMyAdmin을 사용하는 것입니다. 데이터베이스를 선택한 다음 테이블을 선택하고 하단 드롭 다운 메뉴에서 "테이블 복구"를 선택합니다.