최근 일이다.
idc에서 장비 교체로 서버가 다 접속이 차단되면서 몇대가 죽었다.
웹서버의 경우 갑자기 죽으면 대용량 처리하는 디비에서 꼭 문제가 생긴다.
이럴때는 서버 올라오자 마자 보통 phpmyadmin을 사용해서 싹 복구시키는데 우리는 보안상 phpmyadmin도 없고 외부에서 접속이 안된다.
이럴때는 서버 접속해서 바로 checktable , repaire를 날려줘야 한다.
테이블 한개만 확인할때는
mysql접속후
check table 테이블명;
repair table 테이블명;
이지만 통 데이터베이스를 체크하려면
mysql bin폴더를 찾거나
whereis mysqlcheck 명령어를 사용하여 mysqlcheck툴을 찾는다.
그러면 저기 보이는것처럼 /usr/bin/mysqlcheck 라는 곳에 툴이 보일것이다.
$./mysqlcheck -u계정 -p --auto-repair DB명
$패스워드 입력
바로 table체크 후 복구해준다.
그리고 repair 뜨는 문구를 보면 깨진 테이블을 복구하는데 몇개의 데이터가 날라가있다.
백업 내용이 있으면 비교해서 복구해준다.
'개발관련 > 데이터베이스' 카테고리의 다른 글
mysql 실행중인 쿼리 확인 및 중지 (0) | 2017.05.06 |
---|---|
오라클 시퀀스 (1) | 2015.07.30 |