MySQL Client로 select INTO OUTFILE으로 덤프파일을 내릴때 다음과 같은 에러가 발생할 수 있습니다.
mysql> select * INTO OUTFILE '/data/outfile.sql' FIELDS TERMINATED BY '|' from schema.table;
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
위의 에러는 보안관련 에러로 특정 디렉토리 이외에는 파일 쓰기가 금지되어 있을때 위의 에러가 발생합니다.
해결방법은 2가지 입니다. 해당 특정 디렉토리만 이용하거나 모든 디렉토리를 이용할 수 있도록 위의 보안 옵션을 해제하는 것입니다.
1. 특정 디렉토리 확인 방법
mysql> select @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/ |
+---------------------------+
1 row in set (0.00 sec)
위의 디렉토리에다가 outfile을 하여 파일을 작성하는 것입니다.
2. --secure-file-priv 무력화
MySQL 서버의 환경파일을 수정합니다.
shell> vi /etc/mysql/my.cnf
그리고 아래의 섹션에 항목을 추가합니다.
[mysqld]
secure-file-priv=""
그리고 MySQL 서버를 재시작합니다.
shell> systemctl restart mysqld
(위의 명령어는 rpm으로 설치했을시 해당됩니다. 각자 시스템 환경에 맞게 재시작합니다.)
변경사항을 확인합니다.
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| |
+---------------------------+
'Databases > MySQL' 카테고리의 다른 글
[MySQL] Replication 및 AUTO_INCREMENT (0) | 2021.02.14 |
---|---|
[MySQL] Replication 및 max_allow_packet (0) | 2021.02.14 |
[MySQL] 복제(Replication)과 트리거(Trigger) 관계 (0) | 2021.01.26 |
[MySQL] InnoDB에서 Alter Table되는 진행상황을 Peformance Schema를 이용하여 모니터링 하기 (0) | 2021.01.26 |
[MySQL] Performance Schema 모니터링 테이블 - Replication 테이블 (2) | 2021.01.24 |