에러메세지는 아래와 같습니다. 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 |
댓글