부록2: SQL 부록
2. MySQL 8.0 Windows에서 파일 업로드 방법
- 아래의 오류가 날 때, 조치방법입니다.
Error Code: 2068. LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
C:\ProgramData\MySQL\MySQL Server 8.0디렉토리의 설정파일 (my.ini)을 텍스트 편집기로 오픈,이 때, 수정후 저장이 안될 수 있으니, 관리자 권한으로 오픈할 것
C:\ProgramData\MySQL\MySQL Server 8.0디렉토리가 숨김설정이 된 경우 [파일탐색기]에서 안보이니 아래 처럼 조치 할 것숨김설정해제
my.ini의 아래의 부분을 찾아 추가 또는 수정[client] local_infile=1 ## <--- 이 부분 추가 ... ... # Secure File Priv. # 업로드 가능 디렉토리 변경시 아래의 폴더를 변경 secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"my.ini저장- 만일, 수정 후 저장이 안되면 다른 이름으로 저장(예를들어
my.txt로 저장) 후 - 원 파일(
my.ini)을 삭제 후,my.txt의 이름을my.ini로 수정
- 만일, 수정 후 저장이 안되면 다른 이름으로 저장(예를들어
MySQL 8.0 Command Line Client - Unicode를 실행- 패스워드 입력
아래의 명령을 실행하여 결과 확인
mysql> show global variables like 'local_infile';+---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | OFF | <-- 이 부분이 OFF 인지를 확인 +---------------+-------+ (this means local_infile is disable)위의 결과
local_infile이OFF이면 아래의 명령을 실행하고 종료mysql> set global local_infile=true; mysql> exit;
MySQL에 재 접속 후 업로드가 되는 지 확인
CREATE TABLE jskim.stock( 날짜 DATE, 종가 INT, 시가 INT, 고가 INT, 저가 INT, 거래량 INT )CHARACTER SET utf8; LOAD DATA LOCAL INFILE "D:/셀트리온.csv" INTO TABLE jskim.stock CHARACTER SET utf8 FIELDS TERMINATED BY "," LINES TERMINATED BY "\n" IGNORE 1 LINES (날짜,종가,시가,고가,저가, 거래량);mysql> SELECT * FROM jskim.stock limit 10; +------------+--------+--------+--------+--------+---------+ | 날짜 | 종가 | 시가 | 고가 | 저가 | 거래량 | +------------+--------+--------+--------+--------+---------+ | 2020-06-08 | 256000 | 260500 | 263000 | 253000 | 1259416 | | 2020-06-05 | 256500 | 244000 | 260500 | 243000 | 2899453 | | 2020-06-04 | 247000 | 227500 | 248000 | 227000 | 3037387 | | 2020-06-03 | 227500 | 231500 | 235000 | 224500 | 1813508 | | 2020-06-02 | 224500 | 230000 | 232500 | 222000 | 1115810 | | 2020-06-01 | 227500 | 214000 | 232500 | 213000 | 3410255 | | 2020-05-29 | 213500 | 212000 | 214000 | 209500 | 660343 | | 2020-05-28 | 211000 | 212500 | 213500 | 206000 | 716459 | | 2020-05-27 | 213000 | 212000 | 214000 | 211000 | 591712 | | 2020-05-26 | 214500 | 215500 | 216500 | 213000 | 482616 | +------------+--------+--------+--------+--------+---------+ 10 rows in set (0.00 sec)