본문 바로가기

Databases/MySQL

mysql_upgrade 사용하여 테이블 repair 하기

데이터베이스 백업시 --all-databases 옵션을 이용하여 백업한 백업 파일을 다른 버전의 mysql에 restore 할 때 종종

information_schema 데이터베이스 테이블이 깨지는 경우를 경험하였다. 

(주로 routines, triggers, events 테이블 등의 접근 불가 현상)


그럴 땐 mysql_upgrade client tool을 이용하여 해결 할 수 있다. 


# mysql_upgrade -p {PASSWORD} -u {USER}


단, 복제를 사용 중일때는 복제가 깨질 수도 있으므로 주의 해야 한다.

해당 명령을 수행하면 phase 3/3 단계에서 datadir를 찾아 mysql_upgrade_info 파일을 생성하게 되는데, 실행 유저가 해당 폴더에 write 권한이 있어야 정상 수행한다.