728x90
Mac 에서 특정 csv 테이블을 불러오는 도중 다음과 같은 에러가 발생했다.
해결 방법
로컬에서 직접 데이터 파일을 읽어 MySQL 데이터베이스로 로드하는 방법으로 해결했다.
1. MySQL 설정에서 'OPT_LOCAL_INFILE'을 활성화한다
Mysql 에서 홈화면으로 이동하여 Edit Connection으로 들어간다.
Advanced 로 들어가서 Others에 OPT_LOCAL_INFILE = 1 을 추가해준다.
이제 , MySQL 서버가 로컬 파일을 사용하여 데이터를 로드할 수 있도록 허용했다.
2. 'LOAD DATA LOCAL INFILE' SQL 문을 사용
(로컬 파일에서 데이터를 읽고 MySQL 데이터베이스 테이블로 로드)
- 터미널에서 mysql을 실행
- show global variables like 'local_infile'; 명령어를 입력하여 local_infile 이 켜져 있는지 확인한다.
- set global local_infile=true; l 입력해서 local_infile 을 켜준다.
<Local_infile 설정 전/ 후 >
mysql> show global variables like 'local_infile'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | OFF | +---------------+-------+ 1 row in set (0.01 sec) |
mysql> show global variables like 'local_infile'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | ON | +---------------+-------+ 1 row in set (0.01 sec) |
- LOAD DATA LOCAL INFILE 입력
LOAD DATA LOCAL INFILE "파일절대경로" INTO TABLE 스키마.테이블이름
FIELDS TERMINATED BY "," ENCLOSED BY '"' LINES TERMINATED BY "\n" IGNORE 1 ROWS;
LOAD DATA LOCAL INFILE "/Users/kimsinwoo/Desktop/datasets/full.csv"
INTO TABLE mydata.dataset4 FIELDS TERMINATED BY "," ENCLOSED BY '"' LINES TERMINATED BY "\n" IGNORE 1 ROWS;
728x90
'DataBase > SQL' 카테고리의 다른 글
[SQL] 상품리뷰 데이터 분석 - 2 (0) | 2023.10.06 |
---|---|
[SQL] 상품리뷰 데이터 분석 - 1 with MySQL (0) | 2023.10.06 |
[SQL] 기초문법 - CREATE, INSERT, DELETE, UPDATE, VIEW (0) | 2023.10.06 |
[SQLD] 1과목 - 데이터 모델링의 이해 1. 개념정리 (0) | 2023.09.21 |
[SQL] 데이터 모델링(Data Modeling) 개념과 ERD (0) | 2023.09.12 |