
mysqli의 local_infile_directory 설정은 로컬 파일 업로드 기능을 활성화하기 위한 것입니다. 이 설정을 통해 MySQL 서버가 로컬 파일 시스템에서 데이터를 읽을 수 있습니다.
이 설정을 사용하려면 MySQL 서버의 설정 파일인 my.cnf 또는 my.ini 파일을 수정해야 합니다. 예를 들어, MySQL 서버가 설치된 디렉토리에 있는 my.ini 파일을 수정할 수 있습니다.
my.ini 파일을 수정하는 방법은 다음과 같습니다.
1. MySQL 서버가 설치된 디렉토리로 이동합니다.
2. my.ini 파일을 편집기로 열고, [mysqld] 섹션을 찾습니다.
3. local_infile_directory = 디렉토리 경로를 추가합니다. 예를 들어, local_infile_directory = C:\uploads
이러한 설정을 통해 MySQL 서버가 로컬 파일 시스템에서 데이터를 읽을 수 있습니다. 하지만, 이 기능은 보안상의 이유로 비활성화되어 있습니다. MySQL 서버를 시작할 때 --local-infile=0 옵션을 사용하여 비활성화할 수 있습니다.
이 설정이 데이터베이스 연동 속도에 영향을 미치는지는 직접적인 영향을 미치지 않습니다. 하지만, 로컬 파일 업로드 기능을 활성화하면 MySQL 서버가 로컬 파일 시스템에서 데이터를 읽어오기 때문에 데이터베이스 연동 속도가 느려질 수 있습니다.
로컬 파일 업로드 기능을 사용하는 예시 코드는 다음과 같습니다.
#hostingforum.kr
php
$mysqli = new mysqli("localhost", "username", "password", "database");
// 로컬 파일 업로드 기능 활성화
$mysqli->query("SET GLOBAL local_infile = 1");
// 로컬 파일 업로드
$file = fopen("example.txt", "r");
$result = $mysqli->query("LOAD DATA LOCAL INFILE 'example.txt' INTO TABLE 테이블명");
// 로컬 파일 업로드 기능 비활성화
$mysqli->query("SET GLOBAL local_infile = 0");
위의 예시 코드는 로컬 파일 업로드 기능을 활성화하고, 로컬 파일 업로드를 수행한 후 비활성화하는 방법을 보여줍니다.
2025-05-30 22:42