개발&코딩
MySQL DB 백업하기
dona0408
2024. 7. 23. 19:17
반응형
기존에 사용하던 AWS의 Free Tier가 만료되면서 월 $20에 달하는 금액이 나오고 있었다…
무료로 사용 가능한 클라우드를 찾다가 구글의 GCP와 오라클 클라우드가 평생 무료라길래 어디로 옮길까 고민하던 중 GCP로 이동해보기로 결정
이전을 하려면 DB 및 프로젝트를 백업 후 옮겨야한다. git을 이용하여 옮겨도 되지만 ssh로 접속해 백업 파일을 만들고, 해당 파일들을 새 서버에 넣을 계획이다.
DB의 백업은 간단하다
mysqldump -u [사용자 계정] -p [패스워드] [원본 데이터베이스명] > [생성할 백업 DB명].sql
반대로 복원의 경우는 >의 방향만 반대로 돌린 <로 해주면 된다
mysql -u [사용자 계정] -p [패스워드] [복원할 DB] < [백업된 DB].sql
테이블만 백업을 할거라면 다음의 명령어를 이용하면 된다
mysqldump -u [사용자 계정] -p [패스워드] [데이터베이스명] [원본 백업받을 테이블명] > [백업받을 테이블명].sql
테이블 복원은 다음과 같다
mysql -u [사용자 계정] -p [패스워드] [복원할 DB ] < [백업된 테이블].sql
MySQL의 모든 데이터베이스를 백업하는 방법도 존재하는데, 웬만해서는 쓸 일이 없을거 같지만 서비스 백업용으로 쓸 지도 모른다는 생각이 들긴하다
mysqldump --all-databases -u [사용자 계정] -p --default-character-set=euckr < [백업된 DB].sql
복원 명령어는 되게 간결하다
mysql -uroot -p < all.sql
반응형