728x90
백업 익스포트
mysqldump --skip-opt -c --add-drop-table --create-options --routines -u root -p databaseName > backupName.sql
옵션 설명:
- --skip-opt:
이 옵션은 기본적으로 활성화된 옵션 세트를 비활성화합니다.
기본적으로 mysqldump는 몇 가지 최적화 옵션(--opt)을 사용하여 백업을 생성하는데,
이 옵션을 사용하면 해당 최적화가 적용되지 않습니다.
이 옵션을 사용하면 데이터 덤프를 더 세부적으로 제어할 수 있습니다. - -c (--complete-insert):
각 INSERT 명령문에 모든 열 이름을 포함하여 덤프를 생성합니다.
즉, INSERT INTO table (column1, column2, ...) VALUES (value1, value2, ...); 형태로 데이터를 덤프합니다.
이는 백업 파일의 가독성을 높이고 복원 시 호환성 문제를 줄여줍니다. - --add-drop-table:
백업 파일에 각 테이블을 생성하기 전에 DROP TABLE IF EXISTS 문을 추가합니다.
이 옵션을 사용하면 테이블이 이미 존재할 경우 해당 테이블을 삭제한 후 다시 생성하게 되어,
데이터베이스 복원 시 충돌을 방지할 수 있습니다. - --create-options:
테이블을 생성할 때 테이블의 모든 옵션을 덤프합니다.
예를 들어, 테이블의 스토리지 엔진, 캐릭터 셋, 기타 옵션들이 덤프 파일에 포함됩니다. - --routines:
저장된 프로시저와 함수와 같은 데이터베이스의 루틴(routines)을 덤프에 포함합니다.
데이터베이스 백업 시 함수와 프로시저도 백업하고자 할 때 사용합니다. - -u root:
MySQL의 사용자 이름을 지정합니다.
여기서는 root 사용자로 접속하여 덤프를 수행합니다. - -p:
비밀번호 입력을 요청합니다.
이 옵션을 사용하면 명령어 실행 시 비밀번호를 묻게 됩니다.
보안상의 이유로 비밀번호를 명령어에 직접 포함하지 않고, 입력하도록 유도하는 것이 좋습니다. - databaseName:
백업하려는 데이터베이스의 이름입니다.
실제로 백업하려는 데이터베이스 이름으로 변경해야 합니다. - > backupName.sql:
백업 결과를 backupName.sql이라는 파일에 저장합니다.
> 연산자는 표준 출력의 결과를 파일로 리다이렉션하는데 사용됩니다.
backupName.sql 부분을 원하는 백업 파일명으로 변경할 수 있습니다.
mysqldump -u root -p [dbname] [table_name] > [filename.sql]
# [dbname] 내에 있는 여러 테이블을 백업함
mysqldump -u root -p -B [dbname] --tables [table_name_1] [table_name_2] ... > [filename.sql]
테이블 구조만 백업
mysqldump -u root -p --no-data [dbname] > [filename.sql]
백업 임포트
mysql -u root -p databaseName < backName.sql
728x90
'DB' 카테고리의 다른 글
Mysql 외부 접속 권한 설정 (0) | 2025.04.10 |
---|---|
Mysql ONLY_FULL_GROUP_BY 에러 (3) | 2024.08.28 |
Mysql Insert (2) | 2024.08.28 |
Mysql UPSERT (0) | 2024.06.18 |