web-dev-qa-db-ja.com

MySQLで使用されるデフォルトのストレージエンジンを設定するにはどうすればよいですか?

文字セットや照合など、いくつかのデフォルトオプションを持つMySQLデータベースを作成するSQLの作成に取り組んできました。このデータベースのテーブルのデフォルトストレージエンジンをInnoDBに設定することはできますか?

私はMySQL 5.1のマニュアルを見て、ENGINE=innodbステートメントに追加されるステートメントCREATE TABLEを見つけましたが、CREATE DATABASEに関連するものは見つかりませんでしたステートメント。

データベース作成の一部としてこれを行う通常の方法はありますか、それともテーブルごとに指定する必要がありますか?

51
memilanuk

リファレンスマニュアルの引用( Setting the Storage Engine ):

ENGINEオプションを省略すると、デフォルトのストレージエンジンが使用されます。通常、これはMyISAMですが、サーバーの起動オプション--default-storage-engineを使用するか、-でdefault-storage-engineオプションを設定することで変更できます。 my.cnf構成ファイル。

Default-storage-engineオプションはmy.cnf;のmysqldセクションの一部である必要があります。

[mysqld]
default-storage-engine = innodb

また、現在のセッションのためだけにデフォルトのストレージエンジンを変更することもできます。これを行うには、storage_engine変数を設定します。

SET storage_engine=INNODB;
65
Daniel Vassallo

mysqldの起動時にデフォルトのストレージエンジンを指定する必要があります。例えば:

mysqld --default-storage-engine=InnoDB

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

5
sml