INSERT INTO movietbl
VALUES(1, '쉰들러 리스트', '스필버그', '리암 니슨',
LOAD_FILE('C:/SQL/movies/Schindler.txt'),
LOAD_FILE('C:/SQL/movies/Schindler.mp4'));
LONGTEXT, LONGBLOB의 대용량 데이터 INSERT 시 NULL 값 발생
LONGTEXT, LONGBLOG의 MAX 값 조정 필요
=> max_allowed_packet
SHOW VARIABLES LIKE 'max_allowed_packet'
로 원래 값 확인 가능
LOAD_FILE(PATH) 사용시 해당 경로를 보안 폴더로 지정 필요
=> secure-file-priv
SHOW VARIABLES LIKE 'secure-file-priv'
로 원래 값 확인 가능
C:\ProgramData\MySQL\MySQL Server 8.0
로 이동max_allowed_packet의 값을 파일이 들어갈만큼 큰 값으로 수정
업로드하려는 파일이 있는 경로를 추가
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
아랫줄에
secure-file-priv="경로"
를 추가.
이후 my.ini
를 저장하고 닫기
cmd에서 NET STOP MySQL
을 입력해 MySQL을 종료
종료가 완료되면 NET START MySQL
을 입력해 MySQL을 재시작
이제 my.ini
에 설정한 내용이 MySQL에 적용된다.
SELECT ~ INTO OUTFILE 'PATH'
명령어 사용
SELECT movie_script from movietbl where movie_id = 1
INTO OUTFILE 'C:/SQL/movies/Schindler_out.text'
LINES TERMINATED BY '\\n'; -- 필수
SELECT ~ INTO DUMPFILE 'PATH'
명령어 사용
SELECT movie_film from movietbl where movie_id = 3
INTO DUMPFILE 'C:/SQL/movies/Mohican_out.mp4';