본문 바로가기

개발관련/데이터베이스

mysql복구

최근 일이다. 

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