MySQLでInnoDBをインストールまたは有効化する方法
MySQLでInnoDBストレージエンジンを有効にするには、設定ファイルmy.ini(Linux環境の場合はmy.cnf)を編集する必要があります。
MySQL 8以降ではInnoDBがデフォルト
なお、MySQL 8.0以降では、デフォルトのストレージエンジンとしてInnoDBが標準で採用されているため、通常は特別な設定を行わなくてもInnoDBを使用できます。現在の設定はmy.iniファイルで確認しましょう。デフォルトストレージエンジンを明示的に指定したい場合は、設定ファイルに以下のように記述します。
[mysqld]
default-storage-engine=InnoDB
また、サーバー側で現在のデフォルトエンジンを確認したい場合は、次のSQLを実行します。
mysql> SELECT @@default_storage_engine;
テーブル作成時にInnoDBを指定する
テーブルを作成する際に、個別にInnoDBエンジンを指定することも可能です。以下の例では、ENGINE=InnoDBを明示してテーブルを作成しています。
mysql> create table DemoTable
(
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentFirstName varchar(100),
StudentLastName varchar(100),
StudentAge int
) ENGINE=InnoDB;
Query OK, 0 rows affected (1.66 sec)
テーブルのストレージエンジンを確認する方法
作成したテーブルが実際にどのストレージエンジンを使用しているかを確認するには、information_schema.tablesに対して次のようなクエリを実行します。
mysql> select table_name,engine from information_schema.tables where table_name="DemoTable";
実行すると、以下のような結果が出力されます。
+--------------+--------+
| TABLE_NAME | ENGINE |
+--------------+--------+
| DemoTable | InnoDB |
+--------------+--------+
1 row in set (0.16 sec)
このように、ENGINE列に「InnoDB」と表示されていれば、そのテーブルには正しくInnoDBが適用されていることがわかります。トランザクション処理やクラッシュリカバリなどのInnoDBの利点を活かすためにも、必要に応じて設定を見直してみてください。
-
MySQLテーブルがMyISAMまたはInnoDBエンジンを使用しているか確認する方法
MySQLテーブルのストレージエンジンを確認するには? MySQLでテーブルがMyISAMまたはInnoDBのどちらのストレージエンジンを使用しているかを確認したい場合、SHOW TABLE STATUSコマンドを使うのが最も手軽な方法です。このコマンドを実行すると、エンジンの種類だけでなく、行数や作成日時、照合順序など、テーブルに関する詳細情報を一度に取得できます。 基本構文 SHOW TABLE STATUS FROM データベース名 LIKE テーブル名; 上記の構文では、指定したデータベース内の特定のテーブルに関する情報が表示されます。Engine列の値を確認することで、そのテーブル
-
MySQLではInnoDBはデフォルトで有効になっている?ストレージエンジンの確認方法を解説
MySQLにおけるInnoDBのデフォルト設定 はい、MySQLではInnoDBはデフォルトで有効になっています。特にMySQL 5.5以降ではInnoDBが標準のストレージエンジンとして採用されているため、CREATE文で明示的に指定しなくても自動的にInnoDBが使用されます。 ここでは、MySQL 8.0の環境を使って実際に確認していきましょう。まずは現在使用中のバージョンをチェックします。 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1