• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 1. 백업 및 복구의 종류
    2. 데이터베이스 백업 방법
    3. 백업 및 복구 전략의 예
    4. 백업에 mysqldump의 사용
    1. mysqldump를 사용하여 SQL 형식으로 데이터 덤프
    2. SQL형식의 백업을 reloading
    3. mysqldump에 의한 구분 된 텍스트 형식으로 데이터의 덤프
    4. 구분 된 텍스트 형식 백업파일 reloading
    5. mysqldump Tips
    5. 바이너리 로그를 사용한 시점 (증분) 복구
    6. MyISAM 테이블의 보수와 크래쉬 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

7.4.3 mysqldump에 의한 구분 된 텍스트 형식으로 데이터의 덤프

이 섹션에서는 mysqldump를 사용하여 구분 된 텍스트 덤프 파일을 만드는 방법에 대해 설명합니다. 그런 덤프 파일 재 장전 내용은 섹션 7.4.4 "으로 구분 된 텍스트 형식 백업 새로 고침" 을 참조하십시오.

--tab= dir_name 옵션을 사용하여 mysqldump를 호출하면 그것은 dir_name 을 출력 디렉토리로 사용하고 테이블마다 2 개의 파일을 사용하여 그 디렉토리에 개별적으로 테이블을 덤프합니다. 테이블 이름은 이러한 파일의 기본 이름입니다. t1 라는 테이블의 경우 파일에는 t1.sql 및 t1.txt 라는 이름을 붙일 수 있습니다. .sql 파일에는 테이블의 CREATE TABLE 문이 포함됩니다. .txt 파일에는 테이블 행마다 한 줄의 테이블 데이터가 포함됩니다.

다음 명령은 db1 데이터베이스의 내용을 /tmp 데이터베이스 파일에 덤프합니다.

 shell> mysqldump --tab=/tmp db1

테이블 데이터를 저장하는 .txt 파일은 서버에 의해 쓰여지기 때문에 그들은 서버의 실행에 사용되는 시스템 계정에서 소유합니다. 서버는 SELECT ... INTO OUTFILE 을 사용하여 파일을 작성하는이 작업을 수행하기 위해 FILE 권한이 필요하며 지정된 .txt 파일이 이미 존재하는 경우 오류가 발생합니다.

서버는 덤프 된 테이블의 CREATE 정의를 mysqldump로 전송하고 그것은 그들을 .sql 파일에 기록합니다. 따라서 이러한 파일은 mysqldump를 실행하는 사용자가 소유됩니다.

--tab 는 로컬 서버의 덤프에만 사용하는 것이 좋습니다. 그것을 원격 서버에 사용하는 경우 --tab 디렉토리가 로컬 및 원격 호스트에 모두 존재해야, .txt 파일은 서버에 의해 원격 디렉토리 (서버 호스트)에 기록되고 .sql 파일은 mysqldump 에 의해 로컬 디렉토리 (클라이언트 호스트)에 기록됩니다.

mysqldump --tab의 경우 서버는 기본적으로 테이블 데이터를 컬럼 값 사이에 탭을 열 값을 인용하고 행 종결 자로 줄 바꿈을 사용하여 한 줄 한 줄에 .txt 파일에 씁니다. (이들은 SELECT ... INTO OUTFILE 의 경우와 동일한 기본입니다.)

다른 포맷을 사용하여 데이터 파일을 쓸 수 있도록하기 위해 mysqldump는이 옵션을 지원합니다.

  • --fields-terminated-by= str

    컬럼 값을 구분하는 문자열 (기본값 : 탭).

  • --fields-enclosed-by= char

    컬럼 값 구분자 (기본 : 문자 없음).

  • --fields-optionally-enclosed-by= char

    숫자가 아닌 컬럼 값 구분자 (기본 : 문자 없음).

  • --fields-escaped-by= char

    특수 문자를 탈출 문자 (기본값 : 탈출 없음).

  • --lines-terminated-by= str

    행 종료 문자열 (기본값 : 줄 바꿈).

이러한 옵션에 지정된 값에 따라 명령 행에서 명령 인터프리터에 맞게 값을 따옴표로 묶거나 회피 할 필요가있을 수 있습니다. 또는 16 진수를 사용하여 값을 지정합니다. mysqldump에 컬럼 값을 큰 따옴표로 묶여하고자합니다. 이렇게하려면 --fields-enclosed-by 옵션 값으로 큰 따옴표를 지정합니다. 그러나이 문자는 종종 명령 인터프리터 특유이기 때문에 특별히 취급해야합니다. 예를 들어, Unix에서는 이렇게 큰 따옴표를 나타낼 수 있습니다.

 --fields-enclosed-by = ' "'

모든 플랫폼에서 16 진수 값을 지정할 수 있습니다.

 --fields-enclosed-by = 0x22

여러 데이터 형식 옵션을 함께 사용할 수도 많습니다. 예를 들어, 행을 개행 문자 / 복귀 개행 쌍 ( \r\n )로 종료시킨 쉼표로 구분 된 값 형식으로 테이블을 덤프하려면이 명령을 사용합니다 (한 줄로 입력합니다).

 shell> mysqldump --tab=/tmp --fields-terminated-by=,
         
--fields-enclosed-by='"' --lines-terminated-by=0x0d0a db1 

테이블 데이터를 덤프하기 위해 하나의 데이터 포맷 옵션을 사용하면 나중에 데이터 파일을 다시로드 할 때 파일의 내용이 정확하게 해석되도록 동일한 형식을 지정해야합니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved