Mysql CSV 파일 불러오기
csv 파일이란
csv 파일은 "," 로 구분된 데이터가 입력된 파일을 말한다
텍스트 파일에 "," 구분하여 데이터를 입력해도 되고
엑셀에 작성하여 csv파일을 만들 수 도 있다
준비
1. csv 파일
- geoplaces2.csv 라는 파일을 준비했다 내용은 아래 그림과 같다
2. mysql 서버
1. database를 생성한다
2. table을 생성한다
- 테이블 생성시 csv 파일의 내용에 placeID, name이란 컬럼이 존재하므로 고려하여 작성해야 한다
설정 및 csv 파일 옮기기
1. 파일 옮기기
- 보안상의 이유로 지정된 위치에 있는 파일에만 읽고 쓰기가 가능하도록 되어있다 때문에
csv 파일을 지정된 위치에 옮겨야 한다지정위치를 확인하는 방법은 아래의 명령어를 입력하면 된다
1) priv 파일 위치 확인
mysql > show variables like "secure_file_priv";
2) /var/lib/mysql-files/ 하위에 csv파일을 위치 시킨다
2. 파일을 이용해 DB정보 로드
1) DB를 지정한다
2) csv 파일을 이용하여 테이블에 데이터를 로드
mysql > LOAD DATA LOCAL INFILE '/var/lib/mysql-files/geoplaces2.csv'
INTO TABLE Place
FIELDS TERMINATED BY ','
IGNORE 1 ROWS;
LOCAL INFILE : 로컬 영역의 '/var/lib/mysql-files/' 디렉토리 하위의 geoplcaes2.csv 파일을 지정
INTO TABLE Place : Place 테이블에 로드
FIELDS TERMINATED BY ',' : 각 컬럼을 구분하기위한 구분자로 ',' 를 사용
IGNORE 1 ROWS : 1번째 줄에 DB의 스키마가 입력되어 있는 경우 첫번째줄을 무시해주어야 데이터만이 입력된다.
* Error
The MysSQL server is running with the --secure-file-priv option so it ~
- 지정된 곳에 파일이 위치하지 않은 경우의 오류
입력데이터 깨짐 현상
- LF, CRLF 때문에 발생하는 현상이다
vi 편집시 문서 하단에 DOS라고 나타난다면 window에서 생성한 파일이므로 형식을 바꾸어 다시 한다.
'Linux > CentOS' 카테고리의 다른 글
CentOS7 - Gradle 설치 (0) | 2019.02.18 |
---|---|
CentOS7 - ssh 사용법, root 계정으로 ssh 접속 (0) | 2019.01.06 |
CentOS7 - Mysql5.7 원격 접속을 위한 사용자 생성 (0) | 2019.01.03 |
CentOS7 - Mysql 원격접속 허용하기(Host 'IP' is not allowed to connect to this MySQL server) (0) | 2019.01.02 |
CentOS7 - Mysql5.7 비밀번호 재설정, 비밀번호 변경 (4) | 2018.12.31 |