windows 환경에서 Mysql, MariaDB를 사용하고 있을 경우 로컬 파일을 DB에 입력할 때 발생하는 오류이다.
보안 옵션에 의해 로컬 파일을 DB에서 사용할 경우 특정 위치에 파일에 위치시킨 파일을 사용하지 않았을 경우 발생하며
SHOW VARIABLES LIKE 'secure_file_priv';
다음 구문을 DB에서 실행 시키면 현재 내 DB 환경에 따른 공유 폴다 위치를 확인할 수 있다.
내 경우는 다음과 같았고
해당 위치에 따른 다음 쿼리문을 사용하였음에도 오류가 발생하였다.
LOAD DATA INFILE 'C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\dummy_data_faker.xlsx'
INTO TABLE tbl_user
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
이 때 사용한 쿼리문은 다음과 같다.
SQL Error [1290] [HY000]: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
발생한 오류 구문은 다음과 같다.
분명 SHOW VARIABLES LIKE 'secure_file_priv'; 를 이용하여 나온 공유 폴더에서 사용하였는데 어째서 오류가 발생했는지 확인해보니 secure_file_priv 가 알려주는 위치를 windows 환경에서는 그대로 사용할 경우 / 와 \에 따른 경로 문제로 오류가 발생하는 것을 확인하였다.
따라서
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/dummy_data_faker.xlsx'
INTO TABLE tbl_user
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
다음과 같이 경로의 역슬래시를 슬래시로 변경하면 정상적으로 위치를 인식하여 쿼리문을 사용할 수 있다.
'DB > mysql or maria' 카테고리의 다른 글
MySQL 입력용 프로시저 - 트랜젝션, 시퀀스, 롤백 사용 (0) | 2024.08.12 |
---|---|
MySQL windows/linux 버전 확인 (0) | 2024.08.07 |
마리아DB 시퀀스 생성 (0) | 2024.05.15 |
MariaDB 데이터베이스 생성 및 테이블 생성 (0) | 2024.05.15 |
윈도우(windows) mariadb 설치 (1) | 2024.05.14 |