Error 'Incorrect key file for table 'test'

1. 버전
1) 운영 체제
 cat/etc/issue Red Hat Enterprise Linux Server release 5.5 (Tikanga) Kernel\r on an\m
 cat/proc/version Linux version 2.6.32-504.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Oct 15 04:27:16 UTC 2014
2) mysql 데이터베이스 버전
mysql --version mysql  Ver 14.14 Distrib 5.6.26, for linux-glibc2.5 (x86_64) using  EditLine wrapper
2. 문제 설명
2.1 문제점 발견
오늘 테스트 환경의 mysql 라이브러리에서 다음과 같은 오류를 발견했습니다
Last_Error: Error 'Incorrect key file for table 'test'; try to repair it' on query. Default database: 'test2'. Query: 'alter table test add index ind_test_data1(data1)'

2.2 문제 분석
2.2.1 표 구조 보기
show create table test;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                           |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test  | CREATE TABLE `test` (
  `id` int(11) NOT NULL,
  `int_k` int(11) NOT NULL,
  `data1` varchar(255) NOT NULL,
  `data2` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
##우리는 이것이 innodb표이고 id열이 메인 키라는 것을 볼 수 있다.
2.2.2 오보 내용 보기
2.1의 오류 보고에서 알 수 있듯이 라이브러리에서alter table test add index indtest_데이터1(data1) 타임즈의 오류, 간단한 색인 추가 명령이 틀릴까요?라이브러리의 error log를 살펴보니 다음과 같은 오류 메시지가 표시됩니다.
016-02-05 14:08:20 17073 [Warning] Disk is full writing './3306-relay-bin.000003' (Errcode: 28 - No space left on device). Waiting for someone to free space...
2016-02-05 14:08:20 17073 [Warning] Retry in 60 secs. Message reprinted in 600 secs
이 문제는 라이브러리의 디스크 공간이 부족하기 때문에altertable을 실행할 때 오류가 발생했음을 알 수 있습니다.(test는 거의 1000만 기록에 가까운 큰 표임)
3. 솔루션
데이터 디렉터리에 공간을 추가한 후 라이브러리에서 stop slave를 실행합니다.그리고 start slave 실행하기;문제 해결.

좋은 웹페이지 즐겨찾기