본문 바로가기

Database/mysql

[mysql] Database 백업, 복원하는 방법

반응형

 

mysql에서 데이터베이스를 백업하는 방법을 알아보겠습니다.

백업의 동작은 mysqldump라는 명령어로 진행하게 됩니다.

 

mysqldump 동작을 할 때 필요한 필수 권한이 존재합니다.

select 권한, show view 권한, trigger 권한, lock table(필수 x) 권한이 필요합니다.

 

1. 백업 할 데이터베이스를 확인합니다.

mysql
mysql > show databases;

 

백업할 krujy 데이터 베이스
krujy Database에 들어있는 테이블, 데이터

 

2. 파일 형태로 백업 데이터를 저장합니다.

 

bash
# mysqldump -u root -p  --add-drop-table --set-charset --default-character-set=utf8 krujy > db_krujy_backupfile.sql

mysqldump -u [mysql 계정] -p --add-drop-table --set-charset --default-character-set=[언어 셋] [백업 할 데이터베이스 명] > [생성 할 파일 명]

옵션 기능
--add-drop-table Create table 구문 전에 drop table 구문을 추가 하여
기존 테이블이 있더라고 새로 테이블을 생성하여 데이터 복원
--set-charset SET NAMES default_char_set을 기술합니다.
--default-character-set 기본 언어 설정으로 설정 값으로 사용하도록 설정. default 는 utf8
-u 사용할 mysql 계정
-p mysql 계정에 패스워드가 존재할 시 해당 옵션을 넣어 비밀번호를 입력 (명령어 입력 후)
--password --password=[비밀번호] 로 -p 옵션에서 넣을 비밀번호를 미리 입력 가능

백업 파일을 정상적으로 생성 한 모습
--password 옵션을 추가하여 비밀번호를 미리 입력도 가능

 

 

 

3. 백업 받은 파일을 DB에 복원합니다.

 

mysqldump로 생성한 db_krujy_backupfile.sql 파일을 사용하여 복원합니다.

 

백업 파일로 복원하기 전 모습

 

bash
# mysql -u root -p krujy_restore < db_krujy_backupfile.sql

mysql -u root -p [복원 할 데이터베이스 명] < [백업 파일 명]

 

백업 파일로 DB 복원 작업
백업 파일로 복원한 krujy_restore 테이블

 

 

 

 

백업, 복원 작업은

데이터의 양이 많을 경우에 시간이 오래 걸릴 수 있는 작업입니다.

반응형