관리자의 통계 페이지가 나오지 않는 현상이 있어서 확인해봤더니 아래와 같은 에러가 발생하였습니다.
Table '테이블명(table name)' is marked as crashed and should be repaired
처음보는 에러... 또 다른 시험이군요 ㅜㅜㅜㅜㅜㅜㅜ
이런식으로 데이터베이스의 테이블이 뷰 표시로 나타나게됩니다.
확인해보기 위해서 mysql에 들어가 테이블을 체크해보았습니다.
명령어 : check table 테이블명;
예) check table tbl_menu_log;
영어를 몰라 번역기로 확인해보니..
크기가 초과로 인해서 테이블이 충돌된 원인으로 에러가 발생하였네요!!
확실히 로그 테이블이라서 데이터가 많다보니 발생한 에러였습니다..
| cbdamoa.tbl_menu_log | 확인 | 경고 | 테이블이 충돌로 표시됨 |
| cbdamoa.tbl_menu_log | 확인 | 오류 | 데이터 파일의 크기는 1878683648이어야 합니다. 1878683912 |
| cbdamoa.tbl_menu_log | 확인 | 오류 | 부정한
이젠 테이블을 복구 시켜야겠죠!!
명령어 : repair table 테이블명;
예) repair table tbl_menu_log;
2분 9초나 걸리네요... 전 고장난줄 알고 엔터 엄청 눌렀습니다...ㅜㅜ
번역기를 돌려보니
+----------------------+--------+----------+------ -------------------------------------------------- -+
| cbdamoa.tbl_menu_log | 수리 | 정보 | 1878683592에서 데이터 파일 외부를 가리키는 블록을 찾았습니다. |
| cbdamoa.tbl_menu_log | 수리 | 상태 | 확인 |
머 어째꺼나 블록 찾았다면서 ok가 되었군요!
이젠 용량을 늘려주는 작업을 진행합니다!
명령어 : alter table 테이블명 max_rows=레코드수 avg_row_length=원하는 테이블용량;
예) alter table tbl_menu_log max_rows=100000000 avg_row_length=20240000000;
저는 20GB로 늘려주었습니다.
그리고 데이터베이스를 재접속하면 뷰표시가 아닌 테이블 표시로 변환되면서
정상적으로 작동하는 것을 볼 수 있습니다!!
댓글