본문 바로가기

Tip&Tech/Server

[팁] MySQL 테이블 에러 해결 방법

요며칠 개인적인 용도로 운영중인 서버가 말썽을 부렸습니다.
바쁘다는 핑계로 서버관리에 소홀했더니 살짝 삐졌나 봅니다. -_-;

아무튼 갑자기 제로보드 로그인도 안되고, 사이트들도 마니 버벅거려서 서버에 접속해보니...
하드용량이 부족하다고 나오네요 ^_^;


서버에 신경을 못써준 미안함에 불필요한 파일들을 삭제해... 여유공간을 넉넉하게 확보한 후,
다시 서버를 켰는데... 이번에는 MySQL쪽에서 문제가 보입니다.

바로... 아래와 같은 오류인데요...
사용자 삽입 이미지

#145 - Table '***********' is marked as crashed and should be repaired
라는 문구가 심상치 않아 보입니다.(*********** 는 해당 DB및 테이블 명)



걱정스런 마음으로 구글에 "이럴 땐 어떻게 하면 되니?" 물어봤습니다.

우리 이웃들이 올린 글들이 먼저 눈에 띄는군요... 티스토리의 인지도가 많이 올라간 것 같아 흐뭇하네요; ^_^;

어쨋든 해결방법을 살펴보니 mysql> repair table product; 라는 비교적 간단한 명령으로 테이블 수리가 가능한 것 같습니다.

(제 서버환경이 윈도우2003이라)먼저 cmd명령으로 mysql.exe파일이 있는 곳으로 이동한 뒤, mysql -u root -p******** 명령으로 mysql에 접속했습니다.(******는 mysql 접속 비밀번호)

그리고, 해법으로 알려준 repair table xe_counter_log; 라는 명령을 치니, 이번에는 어라???
ERROR 1046 (3D000): 선택된 데이타베이스가 없습니다.
라는 오류 메세지가 나옵니다.



오늘 아무래도 쉽게 끝내긴 힘들 것 같네요... 다시 한 번 구글에서 찾아보니... 아하! mysql에 접속할 때 DB를 선택하지 않아서 그랬군요;

mysql을 빠져나온 뒤 mysql -u root -p DB_NAME 이라고 다시 입력했습니다.(DB_NAME는 DB이름)
그리고, 다시 한 번 repair table xe_counter_log; 라는 명령을 치니...

오호? 이번에는 제가 원하는 대로 작업이 진행되는 것 같습니다.
잠시 기다리니 아래와 같은 화면이 나오며 Repair가 완료됐다고 하네요...
사용자 삽입 이미지



떨리는 마음으로 phpMyAdmin에 접속해보니... 문제가 생겼던 테이블들이 정상작동하는군요;
앞으로는 서버 관리에 좀 더 신경을 써야겠다고 느낀 하루였습니다. ㅎㅎ;

도움주신 많은 분들께 감사드립니다. ㅎㅎ;