MySQL/MariaDB 파일 읽기/쓰기시 발생할 수 있는 secure-file-priv 오류
· Version : MySQL 5.7
MySQL에서 LOAD DATA 및 SELECT.. INTO OUTFILE, LOAD_FILE() 함수를 사용할 경우, 아래와 같은 오류와 함께 실행이 실패되는 경우가 있다.
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement |
이러한 오류는 MySQL 시스템 설정 문제로, 보안과 관련이 있다. 즉, MySQL이 허용하는 경로의 위치에서만 파일을 읽고 쓸 수 있도록 지정된 것이며, 아래 스크립트를 통해서 현재 사용할 수 있는 경로를 확인할 수 있다.
SHOW VARIABLES LIKE "secure_file_priv" |
결과가 NULL 일 경우 어떠한 경로도 지정되어 있지 않다는 뜻이며, 디렉터리 경로가 표시될 경우 해당 위치에서는 파일을 읽고 쓸수 있다는 뜻이다. 또한 아무 값이 표시되지 않으면, 어떠한 위치에서도 파일을 읽고 쓸 수 있다.
해당 값을 수정하기 위해서는 설정 파일에 아래 스크립트를 참고하며, 서비스 재시작이 필요하다. my.cnf 또는 my.ini의 mysqld 항목에 추가한다.
[mysqld] secure-file-priv = "" |
[참고자료]
https://dev.mysql.com/doc/refman/8.0/en/server-options.html#option_mysqld_secure-file-priv
2019-07-23 / 강성욱 / http://sungwookkang.com
MySQL, MySQL security, secure_file_priv, LOAD DATA, SELECT INTO OUTFILE, LOAD_FILE()
'MySQL, MariaDB' 카테고리의 다른 글
MariaDB 히스토그램 (옵티마이저가 실행계획 생성시 참고하는 데이터 분포 정보) (0) | 2019.09.18 |
---|---|
MySQL /MariaDB 통계 정보 (0) | 2019.09.12 |
MySQL/MariaDB ROW Size Limit (0) | 2019.07.20 |
MySQL/MariaDB sql_mode 설정 변경으로 NULL 데이터 처리하기 (0) | 2019.07.06 |
MySQL/MariaDB Timezone 설정 및 확인 (0) | 2019.06.13 |