꿈은 데이터분석가, 취미는 계획

[MY SQL] secure-file-priv 오류(파일로드 문제) 해결 본문

SQL/SQL 활용하기

[MY SQL] secure-file-priv 오류(파일로드 문제) 해결

data_2080 2024. 7. 24. 16:42
728x90

오류발생 쿼리

Table Data Import Wizard 사용 시 import하는데 시간이 너무 걸려서 다른 방법을 찾던 중

아래 코드처럼 csv파일을 불러오면 된다고 해서 진행...했는데 위와 아래와 같은 오류가 발생했다..!

LOAD DATA INFILE 'event_purchase_df.csv'
INTO TABLE event_purchase

오류 메시지

Error Code: 1290. The MySQL server is running with the 
--secure-file-priv option so it cannot execute this statement

 

MYSQL에서는 파일 입출력 시 지정된 경로에서만 가능하도록 설정되어있는데

나는 이것을 무시하고 내 폴더에서 불러오려고 해서 오류가 발생한 것!

해결방법

1. secure_file_priv 디렉토리 경로 조회하기
    MYSQL에서 아래 쿼리를 실행하면 디렉토리 경로가 출력됨

SHOW VARIABLES LIKE 'secure_file_priv';

2. 해당 디렉토리에 업로드할 파일을 추가해서 사용

3. 모든 경로에서 파일을 로드하고 싶다면?
    1) 기본 디렉토리로 이동('C:\\ProgramData\\MySQL\\MySQL Server 8.0')
    2) my.ini파일을 메모장으로 열어 "secure-file-priv" 검색 후 
        secure-file-priv  = ""으로 변경
    3) 수정 후 저장할 때 아래와 같이 권한이 없다고 뜨는 경우 메모장을 '관리자 권한'으로
        실행 후 my.ini파일을 열어 수정하면 저장이 가능!

 
4) cmd에서 아래 코드를 실행주면 SQL을 다시 시작하여 변경한 내용을 업데이트

net stop mysql
net start mysql

 
 5) MYSQL실행 후 아래 코드 재실행하여 VALUE에 값이 없으면 변경완료!

SHOW VARIABLES LIKE 'secure_file_priv';

728x90