mysqlimport 클라이언트는 LOAD DATA SQL 문을 보조하는 명령줄 인터페이스를 제공하는 유틸리티입니다. mysqlimport의 대부분의 옵션은 LOAD DATA 구문의 각 절(clause)과 직접적으로 대응되기 때문에, SQL 문법에 익숙하다면 옵션 사용도 쉽게 이해할 수 있습니다.
mysqlimport 실행하기
mysqlimport 유틸리티는 아래와 같은 형식으로 호출할 수 있습니다.
shell> mysqlimport [options] db_name textfile1 [textfile2 ...]
명령줄에서 지정된 각 텍스트 파일에 대해 mysqlimport는 파일 이름에서 확장자를 제거한 뒤, 남은 이름을 기반으로 해당 파일의 내용을 가져올(import) 테이블의 이름을 결정합니다.
예제
예를 들어 sample.txt, sample.text, sample이라는 세 개의 파일이 있다면, 확장자를 제외한 공통 이름인 sample 테이블로 모두 가져와집니다.
주요 옵션
이 유틸리티는 다음과 같은 옵션들을 지원하며, 명령줄에서 직접 지정하거나 옵션 파일(option file)의 [mysqlimport] 및 [client] 그룹에 설정하여 사용할 수 있습니다.
--bind-address=ip_address
컴퓨터에 여러 개의 네트워크 인터페이스가 있는 경우, 이 옵션을 사용해 MySQL 서버에 연결할 때 사용할 인터페이스를 선택할 수 있습니다.
--character-sets-dir=dir_name
문자셋(character set)이 설치된 디렉터리 경로를 지정합니다.
--columns=column_list, -c column_list
쉼표로 구분된 열(column) 이름 목록을 값으로 받습니다. 열 이름의 순서는 데이터 파일의 각 열이 테이블의 어떤 열과 매칭되어야 하는지를 결정합니다.
--compress, -C
가능한 경우, 클라이언트와 서버 사이에 전송되는 모든 정보를 압축합니다.
--compression-algorithms=value
서버 연결에 허용되는 압축 알고리즘을 지정합니다. 사용 가능한 알고리즘은 protocol_compression_algorithms 시스템 변수와 동일하며, 기본값은 uncompressed(압축 없음)입니다.
--enable-cleartext-plugin
mysql_clear_password 평문(cleartext) 인증 플러그인을 활성화합니다.
--force, -f
발생하는 오류를 무시하고 계속 진행합니다. 예를 들어 특정 텍스트 파일에 대응하는 테이블이 존재하지 않더라도 나머지 파일의 처리를 계속 수행합니다. 반면 --force 옵션 없이 실행하면 mysqlimport는 테이블이 존재하지 않는 시점에 즉시 종료됩니다.