MyISAMをMySQLのInnoDBストレージエンジンに変換する方法は?
MyISAMエンジンをInnoDBに変換するには、ALTERコマンドを使用できます。エンジンMyISAMを使用してテーブルを作成しましょう。
mysql> create table MyISAMToInnoDBDemo -> ( -> id int, -> Name varchar(100) -> )ENGINE=MyISAM; Query OK, 0 rows affected (0.19 sec)
テーブルがエンジンMyISAMで作成されているかどうかを確認します。
mysql> SELECT TABLE_NAME,ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'business' and ENGINE = 'MyISAM';
以下は、MyISAMエンジンで作成されたテーブルを表示する出力です。
+-------------------------+--------+ | TABLE_NAME | ENGINE | +-------------------------+--------+ | studentrecordwithmyisam | MyISAM | +-------------------------+--------+ 1 row in set (0.00 sec)
ALTERコマンドを使用してMyISAMをInnoDBに変換できます。
mysql> alter table MyISAMToInnoDBDemo engine=InnoDB; Query OK, 0 rows affected (1.65 sec) Records: 0 Duplicates: 0 Warnings: 0
変換を確認するには。
mysql> SELECT TABLE_NAME,ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'test' and ENGINE = 'InnoDB';
これが出力です。
+--------------------+--------+ | TABLE_NAME | ENGINE | +--------------------+--------+ | myisamtoinnodbdemo | InnoDB | +--------------------+--------+ 1 row in set (0.00 sec)
-
MySQLにinnoDBをインストールまたは有効にするにはどうすればよいですか?
MySQでinnoDBを有効にするには、 my.iniを回避する必要があります ファイル。ただし、MySQLバージョン8では、デフォルトのストレージエンジンはinnoDBです。 my.iniから同じことを確認してください ファイル- テーブル作成時に設定することもできます- mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(100), &
-
MySQLではINNODBがデフォルトで有効になっていますか?
はい、MySQLバージョン4.0からデフォルトで有効になっています。ここでは、MySQLバージョン8.0.1を使用しています- mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) ここで、デフォルトのエンジンタイプInnoDBが表示されているmy.iniを確認しましょう- 最初に2つのテーブルを作成しましょう。 1つはエンジンタイプで設定されますが、もう1つはエンジンタイプ