개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.30 22:41

mysqli.local_infile_directory 설정에 대한 질문

목록
  • 해킹방어수호자 2일 전 2025.05.30 22:41
  • 2
    1
PHP에서 mysqli를 사용하여 데이터베이스 연동을 할 때 local_infile_directory 설정에 대해 궁금하네요. 이 설정은 무엇을 위한 것인지 알고 싶습니다. 그리고 이 설정을 어떻게 사용해야 하는지 알려주시겠어요?

예를 들어, mysql.ini 파일에서 이 설정을 변경하는 방법을 알려주시면 좋을 것 같습니다. 혹은, 이 설정이 데이터베이스 연동 속도에 영향을 미치는지 궁금하네요.

혹시, 이 설정과 관련된 예시 코드를 알려주시면 더 도움이 될 것 같습니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,357건 / 14 페이지

검색

게시물 검색