데이터베이스 테이블 깨짐 현상 체크 및 복구
MySQL 에서는 테이블이 손상 되었는지 여부를 확인(check table)하고, 손상된 테이블이라면 테이블을 복구(repair table)하고, 속도 개선을 위해 테이블을 최적화(optimize table) 하는 기능들을 제공한다. 이 기능들에 대한 쿼리는 상당히 단순하다.
1. MySQL 특정 테이블 체크(check)
DB 콘솔 접속 후
# use [DB명]; => 작업할 DB를 선택
# check table [테이블명]; => 확인할 테이블을 체크
2. MySQL 특정 테이블 복구(repair)
DB 콘솔 접속 후
# use [DB명]; => 작업할 DB를 선택
# repair table [테이블명]; => 복구할 테이블을 복구
3. MySQL 특정 테이블 최적화(optimize)
DB 콘솔 접속 후
# use [DB명]; => 작업할 DB를 선택
# optimize table [테이블명]; => 최적화할 테이블을 최적화
그리고 위와 같이 특정 테이블에 대해 체크, 복구, 최적화를 할 수 있으나, 서버 장애 등으로 인해 DB의 전체 상태를 점검하거나 전체를 최적화하고 싶을 때는 테이블 하나하나 확인을 하기 어렵다. 그럴 때 아래와 같이 특정 DB의 모든 테이블을 체크하고, 복구하고, 최적화 할 수 있다.
4. MySQL 특정 DB의 모든 테이블 체크 및 자동 복구
서버 콘솔에서
# cd [MySQL_HOME]/bin
=> MySQL 설치 홈의 bin 폴더로 이동
# ./mysqlcheck -u [DB계정] -p[패스워드] --auto-repair [DB명]
=> 해당 DB의 모든 테이블을 체크 및 자동복구
5. MySQL 특정 DB의 모든 테이블 최적화
서버 콘솔에서
# cd [MySQL_HOME]/bin
=> MySQL 설치 홈의 bin 폴더로 이동
# ./mysqlcheck -u [DB계정] -p[패스워드] --optimize [DB명]
=> 해당 DB의 모든 테이블을 최적화
'Database & Server Tip > Mysql' 카테고리의 다른 글
[MySQL] 생성된 테이블의 CREATE TABLE 구문 얻기 (0) | 2017.08.31 |
---|---|
[MySQL] 커버링 인덱스를 통한 쿼리 성능 개선 (0) | 2017.08.09 |
[MySQL] 쿼리에서 대소분자 비교하기 (0) | 2016.06.09 |
[Mysql] GRANT 문을 이용한 사용자 및 권한 관리 (0) | 2015.04.06 |
[MySQL] GRANT 명령으로 사용자 추가하기 (0) | 2015.01.07 |