24.5.1.7 테이블이 손상된 경우 테스트 케이스 작성
테이블이 손상된 경우 또는 일부 업데이트 명령 뒤에 mysqld에서 항상 오류가 발생하는 경우 다음 단계를 수행하여이 버그를 재현 할 수 있는지 여부를 테스트 할 수 있습니다.
MySQL 데몬을 중지합니다 (mysqladmin shutdown를 사용합니다).
테이블의 백업을 만듭니다 (매우 드물지만, 수리 의해 어떠한 장해가 발생하는 경우에 대해 보호하기 위해).
myisamchk -s database / *. MYI를 사용하여 모든 테이블을 체크합니다. 잘못된 테이블이 있었을 경우는 myisamchk -r database /
table
.MYI를 사용하여 복구합니다.테이블의 두 번째 백업을 만듭니다.
더 많은 공간이 필요한 경우에는 MySQL 데이터 디렉토리에서 오래된 로그 파일을 삭제하거나 이동합니다.
바이너리 로그를 활성화하고 mysqld를 시작합니다. mysqld가 충돌하는 쿼리를 찾을 경우, 일반 쿼리 로그를 사용하여 서버를 시작합니다. 섹션 5.2.3 "일반 쿼리 로그」 및 섹션 5.2.4 "바이너리 로그" 를 참조하십시오.
테이블이 충돌하면,
mysqld 서버
를 중지합니다.백업을 복원합니다.
바이너리 로깅을 사용하지 않고 mysqld 서버를 다시 시작합니다.
mysqlbinlog binary-log-file | mysql을 지정하고 명령을 다시 실행합니다. 바이너리 로그
hostname-bin.
라는 이름으로 MySQL 데이터베이스 디렉토리에 저장됩니다.NNNNNN
테이블이 다시 손상되었거나 위의 명령에서 mysqld가 비정상적으로 종료하는 경우는 쉽게 해결할 수있는 가능성이있는 재현 가능한 버그가 발견되었습니다. 섹션 1.7 "질문이나 버그를보고하는 방법" 의 단계를 사용하여 테이블 및 바이너리 로그를 버그 데이터베이스에 FTP로 전송하십시오. 지원 고객의 경우 MySQL 고객 지원 센터 ( http://www.mysql.com/support/ )를 사용하여 MySQL 팀에 그 문제를 통지하고 가능한 한 빨리 수정 해달라고 수 있습니다 .