반응형
mysql에서 데이터베이스를 백업하는 방법을 알아보겠습니다.
백업의 동작은 mysqldump라는 명령어로 진행하게 됩니다.
mysqldump 동작을 할 때 필요한 필수 권한이 존재합니다.
select 권한, show view 권한, trigger 권한, lock table(필수 x) 권한이 필요합니다.
1. 백업 할 데이터베이스를 확인합니다.
mysql |
mysql > show databases; |
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 옵션에서 넣을 비밀번호를 미리 입력 가능 |
3. 백업 받은 파일을 DB에 복원합니다.
mysqldump로 생성한 db_krujy_backupfile.sql 파일을 사용하여 복원합니다.
bash |
# mysql -u root -p krujy_restore < db_krujy_backupfile.sql |
mysql -u root -p [복원 할 데이터베이스 명] < [백업 파일 명]
백업, 복원 작업은
데이터의 양이 많을 경우에 시간이 오래 걸릴 수 있는 작업입니다.
반응형
'Database > mysql' 카테고리의 다른 글
[mysql] 이중화 설정 방법 (replication) (0) | 2021.08.04 |
---|---|
[mysql] 계정, 접속 권한 설정하기 (grant, revoke) (0) | 2021.07.27 |
[mysql] CONCAT 사용하여 데이터 합치기 (0) | 2021.07.23 |