2010-06-16 9 views
46

저는 문자 세트와 데이터 정렬을 포함한 몇 가지 기본 옵션이있는 MySQL 데이터베이스를 만들기 위해 SQL을 작성하고 있습니다. 이 데이터베이스에있는 테이블의 기본 스토리지 엔진을 InnoDB로 설정할 수 있습니까? MySQL에서 사용하는 기본 저장소 엔진을 어떻게 설정할 수 있습니까?

나는 MySQL의 5.1 매뉴얼을 찾고 있었어요 그리고 나는 CREATE TABLE 문에 추가 할 것 문 ENGINE=innodb을 발견했습니다,하지만 난 CREATE DATABASE 문에 관련된 아무것도 발견하지 않았습니다.

데이터베이스 작성시이 작업을 수행하는 일반적인 방법이 있습니까, 아니면 테이블 단위로 지정해야합니까?

답변

57

은 레퍼런스 매뉴얼 (Setting the Storage Engine) 인용 : 당신이 ENGINE 옵션을 생략하면

를 기본 스토리지 엔진이 사용됩니다. 일반적으로이의 MyISAM,하지만 당신은 --default-storage-engine 서버 시작 옵션을 사용하거나 my.cnf 구성 파일의 default-storage-engine 옵션을 설정하여하여 변경할 수 있습니다.

는 기본 스토리지 엔진 옵션은 my.cnf의에서의 mysqld 섹션의 일부 여야합니다;

[mysqld] 
default-storage-engine = innodb 

또한 현재 세션에 대한 기본 저장소 엔진 만 변경할 수도 있습니다. 당신은 storage_engine 변수를 설정하여이 작업을 수행 할 수 있습니다 :

SET storage_engine=INNODB; 
+7

참고 변경 내용을 적용 할 수는 my.cnf하는 MySQL의를 재설정해야합니다. 꽤 명백했다. 그러나 그것은 나를 위로 트 랩핑했다. –

+0

my.cnf에서 이것을 설정하려면, [mysqld] 섹션에 들어가야하는지, 아니면 중요합니까? –

+1

mysql> = 5.7.9에서 default_storage_engine을 사용해야합니다. – mjj1409

5

당신은 mysqld를 시작할 때 기본 저장 엔진을 지정해야합니다. 예를 들면 :

mysqld --default-storage-engine=InnoDB 

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_default-storage-engine

+2

나는 더 명확해야했다. 나는 CREATE TABLE 문에서 InnoDB를 사용하고 시작 옵션을 사용하고 my.cnf를 수정하는 방법을 알고있다. SQL 스크립트에서 CREATE DATABASE 문으로 수행 할 수 있는지 여부를 구체적으로 묻습니다. – memilanuk

+0

아니, 나는 이것을하는 방법을 모르고있다. – sml

관련 문제