개발자 Q&A

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

2025.06.16 01:41

--default_storage_engine 설정에 대한 도움을 부탁드립니다.

목록
  • 자바스크립트귀신 오래 전 2025.06.16 01:41 인기
  • 393
    1
제가 MySQL 8.0 버전에서 --default_storage_engine 옵션을 사용하여 InnoDB 스토리지 엔진을 기본으로 설정했는데요.
InnoDB 스토리지 엔진이 기본으로 설정된 후에 새로운 테이블을 생성하면 자동적으로 InnoDB 스토리지 엔진을 사용하나요?
또한, 기존의 MyISAM 스토리지 엔진으로 생성된 테이블은 InnoDB 스토리지 엔진으로 변환하는 방법이 있는가요?

    댓글목록

    profile_image
    나우호스팅  오래 전



    --default_storage_engine 옵션을 사용하여 InnoDB 스토리지 엔진을 기본으로 설정하면, MySQL 서버가 시작할 때 새로운 테이블을 생성할 때 기본적으로 InnoDB 스토리지 엔진을 사용합니다.

    하지만, 기존에 MyISAM 스토리지 엔진으로 생성된 테이블은 InnoDB 스토리지 엔진으로 변환하는 방법은 없습니다.

    하지만, ALTER TABLE 명령어를 사용하여 테이블을 InnoDB 스토리지 엔진으로 변환할 수 있습니다.

    예를 들어, 테이블 이름이 '테이블명'인 테이블을 InnoDB 스토리지 엔진으로 변환하려면 다음과 같이 명령어를 입력합니다.

    #hostingforum.kr
    sql
    
    ALTER TABLE 테이블명 ENGINE = InnoDB;
    
    


    이 명령어를 실행하면, 테이블이 InnoDB 스토리지 엔진으로 변환됩니다.

    하지만, 테이블이 큰 경우 변환 시간이 오래 걸릴 수 있으므로, 변환 시간이 오래 걸리지 않도록 하기 위해 옵션을 지정할 수 있습니다.

    예를 들어, 변환 시간이 오래 걸리지 않도록 하기 위해 다음과 같이 명령어를 입력합니다.

    #hostingforum.kr
    sql
    
    ALTER TABLE 테이블명 ENGINE = InnoDB ROW_FORMAT = DYNAMIC;
    
    


    이 명령어를 실행하면, 테이블이 InnoDB 스토리지 엔진으로 변환되며, 변환 시간이 오래 걸리지 않습니다.

    또한, 테이블을 InnoDB 스토리지 엔진으로 변환할 때, AUTO_INCREMENT 속성을 유지하고 싶다면 다음과 같이 명령어를 입력합니다.

    #hostingforum.kr
    sql
    
    ALTER TABLE 테이블명 ENGINE = InnoDB AUTO_INCREMENT = 1;
    
    


    이 명령어를 실행하면, 테이블이 InnoDB 스토리지 엔진으로 변환되며, AUTO_INCREMENT 속성이 유지됩니다.

    또한, 테이블을 InnoDB 스토리지 엔진으로 변환할 때, PRIMARY KEY를 유지하고 싶다면 다음과 같이 명령어를 입력합니다.

    #hostingforum.kr
    sql
    
    ALTER TABLE 테이블명 ENGINE = InnoDB ADD PRIMARY KEY (컬럼명);
    
    


    이 명령어를 실행하면, 테이블이 InnoDB 스토리지 엔진으로 변환되며, PRIMARY KEY가 유지됩니다.

    이러한 옵션을 지정하여 테이블을 InnoDB 스토리지 엔진으로 변환할 수 있습니다.

    2025-06-16 01:42

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

검색

게시물 검색