반응형
1. mysqldump 기본구조
mysqldump -u[user_id] -p[user_pw] [option] [db_name] [tb_name] > [backup_file_name.sql]
- -u[user_id] : MariaDB 접속 계정
- -p[user_pw] : MairaDB 접속 비밀번호
- [option] : dump 옵션, 여러개 중첩이 가능
- [db_name] : 옵션 별 필요에 의한 Database 명칭
- [tb_name] : 옵션 별 필요에 의한 Table 명칭
- [backup_file_name.sql] : 백업받을 파일 명, 경로가 지정되지 않을 경우 스크립트를 실행하는 디렉토리에 파일 생성.
2. 전체 데이터베이스 백업하기
Option : --all-databases
mysqldump -u[user_id] -p[user_pw] --all-databases > [backup_file_name.sql]
- --all-databases
- 전체 데이터베이스에 대해 백업
- mysql 등 메타정보가 담긴 데이터베이스도 함께 백업
3. 특정 데이터베이스 백업하기
Option : --databases [db_name_1] [db_name_2] ....
mysqldump -u[user_id] -p[user_pw] --databases [db_name_1] [db_name_2] .... > [backup_file_name.sql]
- --databases [db_name_1] [db_name_2] ....
- 데이터베이스를 명시적으로 1개 이상 백업
4. 특정 테이블 백업하기
Option : --databases [db_name] --tables [tb_name_1] [tb_name_2] ....
mysqldump -u[user_id] -p[user_pw] --databases [db_name] --tables [tb_name_1] [tb_name_2] .... > [backup_file_name.sql]
- --databases [db_name] --tables [tb_name_1] [tb_name_2] ....
- 하나의 데이터베이스에 테이블을을 명시적으로 1개이상 백업
- 동시에 여러 데이터베이스의 테이블은 백업 할 수 없음
5. 스키마만 백업하기 (데이터 제외)
Option : --no-data
mysqldump -u[user_id] -p[user_pw] --all-databases --no-data > [backup_file_name.sql]
- --no-data
- 명시된 데이터베이스 혹은 테이블의 개체 정보만 백업
- sql의 insert 문을 제외하고 백업
6. 데이터만 백업하기 (스키마 제외)
Option : --no-create-info
mysqldump -u[user_id] -p[user_pw] --all-databases --no-create-info > [backup_file_name.sql]
- --no-create-info
- 명시된 데이터베이스 혹은 테이블의 데이터만 백업
- sql의 create 문을 제외하고 insert 문만 백업
7. 특정 테이블 제외하고 백업
Option : --ignore-table=[db_name_1].[tb_name_1] --ignore-table=[db_name_2].[tb_name_2] ....
mysqldump -u[user_id] -p[user_pw] --all-databases --ignore-table=[db_name].[tb_name] > [backup_file_name.sql]
- --ignore-table=[db_name_1].[tb_name_1] --ignore-table=[db_name_2].[tb_name_2] ....
- 해당 테이블만 제외하고 백업
- 여러 테이블을 제외하고 싶을 경우 여러 번 명시
8. No Lock으로 백업 (InnoDB의 경우)
Option : --single-transaction
mysqldump -u[user_id] -p[user_pw] --all-databases --single-transaction > [backup_file_name.sql]
- --single-transaction
- 하나의 트랜잭션을 이용하여 No Lock 으로 백업
- InnoDB의 경우만 No Lock 으로 가능
9. 원격지 백업
Option : -h[host_ip]
mysqldump -u[user_id] -p[user_pw] -h[host_ip] --all-databases > [backup_file_name.sql]
- -h[host_ip]
- 원격지 [host_ip]의 데이터베이스를 옵션에 맞게 백업
반응형