[MySQL] SQL Error [1290] [HY000]: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

bradley·2022년 8월 24일
2

Trouble Shooting

목록 보기
5/12
post-thumbnail

에러


LOAD DATA, INTO OUTFILE와 같은 키워드를 사용하여 데이터를 Export/Import 할 경우 --secure-file-priv 옵션 에러

원인


--secure-file-priv 옵션은 데이터 export/import 기능을 제한하는 옵션이다. 이 옵션 설정이 필요하다.

show variables를 통해 secure_file_priv에 설정된 경로를 살펴본다.

show variables like "secure_file_priv";

출력값

  • NULL : 데이터 export/import 비활성화
  • 빈 값 : 데이터 export/import 활성화
  • Directory 경로 : 해당 경로에서만 데이터 export/import 가능

해결방법


1. 지정된 Directory에서 파일을 읽고 쓴다.

secure_file_priv 위치에 파일을 위치시킨 뒤 Import하거나 해당 위치로 데이터를 Export한다.

2. 모든 경로에서 파일을 읽고 쓸 수 있도록 설정한다.

secure_file_priv는 읽기 전용 변수이기 때문에 MySQL 설정 파일을 변경해주어야 한다.

설정파일 위치 위치를 모를 경우 참조
https://velog.io/@jskim/MySQL-%EC%84%A4%EC%A0%95-%ED%8C%8C%EC%9D%BC-my.ini-%EB%98%90%EB%8A%94-my.cnf-%EC%B0%BE%EA%B8%B0

설정파일에서 secure_file_priv를 찾아 값을 변경하여 저장해준다.

모든 경로에서 Export/Import 할 수 있도록 빈 값 입력
secure_file_priv = ""

서비스로 이동한다.

MySQLXX을 다시 시작해준다.

secure_file_priv 경로가 업데이트 된 것을 확인할 수 있다.

데이터를 Export한다.

profile
데이터 엔지니어링에 관심이 많은 홀로 삽질하는 느림보

0개의 댓글