본문 바로가기
다른 DBMS/MySQL&MariaDB

[에러 해결] Error: 1290 secure-file-priv 관련

by 취미툰 2021. 1. 2.
반응형

에러메세지는 아래와 같습니다. mysqlimport 프로그램을 사용하여 외부 파일을 테이블에 import할 시에 나타난 에러입니다.

mysqlimport: Error: 1290, The MySQL server is running with the --secure-file-priv option so it cannot execute this statement, when using table: imptest

 

원인 : DB 보안의 이유로 secure-file-priv=[디렉토리 명]이 설정되어 있습니다. 이는 해당 디렉토리 안에 있는 파일만 import가능하다는 뜻입니다.

 

해결 : 두가지 방법이 있습니다.

1. import 할 파일을 해당 디렉토리에 옮기기

2.secure-file-priv를 NULL로 만들어 아무디렉토리에서 import 가능하게 하기

 

방법 설명

Mysql8.0.22의 경우에는 default로 확인이 NULL이 었지만, 에러가 발생하였습니다. 2번방법으로 해결하니 잘 되었습니다.

 

0.에러 발생

# mysqlimport  test /usr/local/mysql/imptest.txt -uroot -p

Enter password:

mysqlimport: Error: 1290, The MySQL server is running with the --secure-file-priv option so it cannot execute this statement, when using table: imptest

 

1.확인

mysql> show variables like "secure_file_priv";

+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv | NULL  |
+------------------+-------+

 

2. secure-file-priv 파라미터 수정

 

my.cnf에 secure-file-priv="" 추가하기

[mysqld]

secure-file-priv=""

..생략

 

 

3.DB 재기동

# systemctl stop mysql.server

 

#systemctl start mysql.server

 

 

4.import 확인

# mysqlimport  test /usr/local/mysql/imptest.txt -uroot -p

Enter password:

test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0

 

 

또 하나의 트러블슈팅을 배웠습니다..

반응형

'다른 DBMS > MySQL&MariaDB' 카테고리의 다른 글

mysqlslap  (0) 2021.01.06
mysqlpump  (0) 2021.01.05
Mysql의 Program  (0) 2021.01.01
권한(Privileges)  (0) 2020.12.30
mysqlbinlog 명령어 옵션  (0) 2020.12.27

댓글