7.4.3 mysqldump에 의한 구분 된 텍스트 형식으로 데이터의 덤프
이 섹션에서는 mysqldump를 사용하여 구분 된 텍스트 덤프 파일을 만드는 방법에 대해 설명합니다. 그런 덤프 파일 재 장전 내용은 섹션 7.4.4 "으로 구분 된 텍스트 형식 백업 새로 고침" 을 참조하십시오.
--tab=
옵션을 사용하여 mysqldump를 호출하면 그것은 dir_name
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
테이블 데이터를 덤프하기 위해 하나의 데이터 포맷 옵션을 사용하면 나중에 데이터 파일을 다시로드 할 때 파일의 내용이 정확하게 해석되도록 동일한 형식을 지정해야합니다.