개발자 Q&A

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

2025.05.10 22:44

MySQL InnoDB File Per Table 설정에 대한 질문

목록
  • 패턴마스터 4일 전 2025.05.10 22:44
  • 12
    1
제가 MySQL에서 InnoDB File Per Table 설정을 사용하여 테이블을 분리할 때,

테이블이 하나의 파일에 저장되는 것이 아니라, 각 테이블이 별도의 파일에 저장되는 것을 확인했습니다.

하지만, MySQL 서버가 재시작되면, 테이블 파일이 사라지는 것을 확인했습니다.

이러한 현상을 해결하기 위해서, InnoDB File Per Table 설정을 사용할 때,

어떤 옵션을 추가하거나 설정해야 하는지 궁금합니다.

또한, 이 옵션을 사용할 때, 어떤 점을 주의해야 하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  4일 전



    InnoDB File Per Table 설정을 사용하여 테이블을 분리할 때, 각 테이블이 별도의 파일에 저장되도록 하려면, MySQL 서버의 기본 설정을 변경해야 합니다.

    1. MySQL 서버의 설정 파일인 my.cnf 또는 my.ini 파일을 열어, innodb_file_per_table 옵션을 추가합니다. 예를 들어, 다음과 같이 설정할 수 있습니다.

    #hostingforum.kr
    
    
       [mysqld]
    
       innodb_file_per_table=1
    
       


    2. MySQL 서버를 재시작하여 설정을 적용합니다.

    3. InnoDB File Per Table 설정을 사용할 때, 각 테이블이 별도의 파일에 저장되므로, 테이블의 파일 이름은 테이블 이름과 일치합니다. 예를 들어, 테이블 이름이 "테이블1"인 경우, 파일 이름도 "테이블1.ibd"로 저장됩니다.

    4. MySQL 서버가 재시작되더라도, 테이블 파일이 사라지지 않도록 하려면, MySQL 서버의 설정 파일에 innodb_force_recovery 옵션을 추가합니다. 예를 들어, 다음과 같이 설정할 수 있습니다.

    #hostingforum.kr
    
    
       [mysqld]
    
       innodb_force_recovery=1
    
       


    이 옵션을 사용하면, MySQL 서버가 재시작될 때, 테이블 파일을 복원하는 것을 방지하여, 테이블 파일이 사라지지 않습니다.

    5. InnoDB File Per Table 설정을 사용할 때, 각 테이블이 별도의 파일에 저장되므로, 테이블의 크기가 큰 경우, 디스크 공간을 많이 사용할 수 있습니다. 따라서, 테이블의 크기를 관리하는 것이 중요합니다.

    6. MySQL 서버의 설정 파일에 innodb_buffer_pool_size 옵션을 추가하여, 테이블의 캐시를 증가시켜, 디스크 읽기/쓰기 작업을 줄일 수 있습니다.

    7. MySQL 서버의 설정 파일에 innodb_log_file_size 옵션을 추가하여, 로그 파일의 크기를 증가시켜, 로그 파일이 충분히 크면, 로그 파일이 삭제되지 않습니다.

    2025-05-10 22:45

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

검색

게시물 검색