MySQLではInnoDBはデフォルトで有効になっている?ストレージエンジンの確認方法を解説
MySQLにおけるInnoDBのデフォルト設定
はい、MySQLではInnoDBはデフォルトで有効になっています。特にMySQL 5.5以降ではInnoDBが標準のストレージエンジンとして採用されているため、CREATE文で明示的に指定しなくても自動的にInnoDBが使用されます。
ここでは、MySQL 8.0の環境を使って実際に確認していきましょう。まずは現在使用中のバージョンをチェックします。
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)
次に、設定ファイル(my.ini / my.cnf)を開いてみると、デフォルトのエンジンタイプとして「InnoDB」が設定されていることが確認できます。

テーブル作成時のストレージエンジンの挙動
それでは、2つのテーブルを作成して動作を見てみましょう。1つ目のテーブルはエンジンタイプを指定せずに作成し、2つ目のテーブルは明示的にENGINE=InnoDBを指定して作成します。
1つ目のテーブル(エンジン指定なし)
mysql> create table DemoTable1(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY); Query OK, 0 rows affected (0.80 sec)
2つ目のテーブル(ENGINE=InnoDB を指定)
mysql> create table DemoTable2(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=InnoDB;
Query OK, 0 rows affected (0.76 sec)
このように作成した2つのテーブルは、エンジンタイプを明示的に指定したかどうかにかかわらず、どちらも同じストレージエンジンで作成されます。
各テーブルのストレージエンジンを確認する
information_schema.TABLES を参照すれば、各テーブルで実際にどのストレージエンジンが使われているのかを調べられます。
まずは1つ目のテーブル「DemoTable1」のエンジンタイプを確認してみましょう。
mysql> select engine from information_schema.TABLES where TABLE_SCHEMA = 'web' and table_name='DemoTable1'; +--------+ | ENGINE | +--------+ | InnoDB | +--------+ 1 row in set (0.56 sec)
続いて、2つ目のテーブル「DemoTable2」のエンジンタイプも確認します。
mysql> select engine from information_schema.TABLES where TABLE_SCHEMA = 'web' and table_name='DemoTable2'; +--------+ | ENGINE | +--------+ | InnoDB | +--------+ 1 row in set (0.00 sec)
ご覧のとおり、どちらのテーブルもエンジンタイプとして「InnoDB」が表示されました。「DemoTable1」のようにCREATE文でエンジンタイプを指定しなかった場合でも、デフォルトのストレージエンジンであるInnoDBが自動的に適用されることが確認できます。
-
MySQLテーブルがMyISAMまたはInnoDBエンジンを使用しているか確認する方法
MySQLテーブルのストレージエンジンを確認するには? MySQLでテーブルがMyISAMまたはInnoDBのどちらのストレージエンジンを使用しているかを確認したい場合、SHOW TABLE STATUSコマンドを使うのが最も手軽な方法です。このコマンドを実行すると、エンジンの種類だけでなく、行数や作成日時、照合順序など、テーブルに関する詳細情報を一度に取得できます。 基本構文 SHOW TABLE STATUS FROM データベース名 LIKE テーブル名; 上記の構文では、指定したデータベース内の特定のテーブルに関する情報が表示されます。Engine列の値を確認することで、そのテーブル
-
MySQLでInnoDBをインストールまたは有効化する方法
MySQLでInnoDBストレージエンジンを有効にするには、設定ファイルmy.ini(Linux環境の場合はmy.cnf)を編集する必要があります。MySQL 8以降ではInnoDBがデフォルトなお、MySQL 8.0以降では、デフォルトのストレージエンジンとしてInnoDBが標準で採用されているため、通常は特別な設定を行わなくてもInnoDBを使用できます。現在の設定はmy.iniファイルで確認しましょう。デフォルトストレージエンジンを明示的に指定したい場合は、設定ファイルに以下のように記述します。[mysqld]default-storage-engine=InnoDBまた、サーバー側で現