MySQL을 백업하는 경우 DB 용량이 큰 경우가 있습니다.
백업 파일 용량이 크게 되는 경우 FTP나 SCP로 파일을 전송할 때 시간이 많이 걸립니다.
또는 백업하려는 환경에 용량이 많이 남아있지 않은 경우 백업 파일을 생성하지 못하기도 합니다.
gz을 사용해 백업하고 싶은 스키마를 압축 파일 형태로 백업할 수 있습니다.
gzip 인스톨
gzip이 없는 경우에는 먼저 인스톨해주시면 됩니다.
# apt-get install gzip
mysqldump 압축 백업
DB를 백업하기 위해서는 mysqldump 명령어를 사용합니다.
mysqldump 사용방법은 아래를 참조해주세요.
백업할 때 사용하는 mysqldump 명령어와 압축할 때 사용하는 gzip 명령어를 연결을 해줍니다.
[root@test]# mysqldump -u로그인 유저 -p'패스워드' 스키마(DB명) | gzip > 저장할파일명.sql.gz
[root@test]# mysqldump -utestuser -p'test1234' test_db | gzip > test_db_backup.sql.gz
저장할 파일명 확장자는 .sql.gz 로 설정합니다.
mysqldump명령어를 실행한 폴더에 압축파일로 백업 파일이 생성이 됩니다.
mysql 압축 복원
압축해서 만들 백업 파일을 mysql과 zcat 명령어를 사용해 복원합니다.
[root@test]# zcat 백업파일명.sql.gz | mysql -u로그인 유저 -p'패스워드' 복원스키마(DB명)
[root@test]# zcat test_db_backup.sql.gz | -utest_user -p'test123' dev_db
dev_db라는 스키마에 압축해서 백업한 파일인 test_db_backup.sql.gz를 복원시켰습니다.
gzip을 사용해 백업 파일을 압축해 생성하면 그냥 생성하는 것보다 파일 용량이 상당히 줄어듭니다.
저는 압축해서 백업 파일을 만들면 그냥 만드는 것보다 10%로 용량이 줄어드는 경우가 많습니다.
다시 복원을 시키면 용량이 원래대로 복원되지만요.
그래도 자주 백업을 해놔야 하는 경우에는 gzip을 사용해 압축해서 보관하는 경우가 많습니다.
댓글