알고리즘이 .csv 파일을 읽어 특정 개수의 아이템을 추천해주는 방식이었기 때문에, DB의 테이블을 .csv 파일로 뽑아내는 작업이 필요하였다.
여기를 참고하여 데이터를 뽑았는데, 나는 첫번째 SQL을 사용하였다.
1
2
3
4
5
6
|
SELECT * FROM recommend_coursedata
INTO OUTFILE 'C:/MySqlOutputData/test.csv'
CHARACTER SET euckr
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n';
| cs |
Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
에러가 발생하는데, 파일이 생성되는 경로와 mysql서버의 secure-file-priv 경로와 달라서 발생하는 에러 같다.
INTO OUTFILE 의 경로는
mysql 서버의 secure_file_priv 에 명시에되어있다.
여기서 나오는 데이터를 기준으로 추천을 해주기 때문에 관리자 계정이 버튼으로 추천 데이터를 업데이트해주자는 생각으로 진행하였다. 그렇기 때문에 버튼을 누를 때 마다
저 경로의 파일을 지우고, 새로 파일을 생성하는 방식으로 진행하려고 하였다.
하지만, 경로가 ProgramData 속에 있기 때문에 수정/삭제에 대해 관리자 권한이 필요하였고, 경로를 바꾸기로 하였다.
나의 경우에는
my.ini
secure-file-priv 의 경로를 직접 바꾼 후 mysql을 재시작하여 진행하였다.