この記事は、MySQLでのデータベースエンジンの操作の概要です。
この記事の手順の一部に従うには、サーバーへのルートアクセス権が必要です。MySQLデータベースエンジンについて
データベースエンジンは、MySQLがデータを処理および処理するための基盤となる機能を提供します。
最も一般的で人気のある2つのMySQLデータベースエンジンはMyISAM およびInnoDB 。 MyISAMは、5.5.5より前のバージョンのMySQLのデフォルトエンジンであり、ほとんどのシナリオで適切に機能します。ただし、ニーズによっては、InnoDBなどの別のデータベースエンジンの方が適している場合があります。たとえば、InnoDBはトランザクションをサポートしますが、MyISAMはサポートしません。 InnoDBは外部キーのサポートも提供しますが、MyISAMはサポートしません。
サーバーへのルートアクセス権がある場合は、MySQLがさまざまなデータベースエンジンをいつどのように使用するかを完全に制御できます。デフォルトのデータベースエンジンを変更したり、特定のテーブルのデータベースエンジンを変更したりできます。
この記事は、 mysqlを使用してコマンドラインからMySQLにアクセスする方法をすでに知っていることを前提としています。 プログラム。これを行う方法がわからない場合は、最初にこの記事をお読みください。インストールのデフォルトのデータベースエンジンを決定するには、 mysql>で次のコマンドを入力します プロンプト:
SHOW ENGINES;
サポートされているエンジンのリストが、各エンジンでサポートされている機能と簡単な説明とともに表示されます。デフォルトのデータベースエンジンはDEFAULTとマークされています サポートで 列。
MySQLインストールのデフォルトのデータベースエンジンを変更できます。これを行うと、作成するすべての新しいテーブルは新しいデータベースエンジンを使用します(テーブルの作成中にエンジンを明示的に設定した場合を除く)。
デフォルトのデータベースエンジンを変更するには、次の手順に従います。
- お好みのテキストエディタを使用して、 my.cnfを開きます。 サーバー上のファイル。 my.cnfの場所 ファイルはLinuxディストリビューションによって異なります:
- CentOSおよびFedoraでは、 my.cnf ファイルは/etcにあります ディレクトリ。
- DebianおよびUbuntuでは、 my.cnf ファイルは/etc / mysqlにあります ディレクトリ。
- my.cnf ファイルで、 [mysqld]を見つけます セクション。
-
[mysqld]に次の行を追加または変更します セクション。 エンジンを交換してください デフォルトとして使用するエンジンの名前を使用します。
default-storage-engine=ENGINE
InnoDBデータベースエンジンを有効にしている場合、Linuxディストリビューションによっては、 my.cnfの次の行を無効にする必要がある場合があります。 ファイル:
skip-innodb
これを行うには、ポンド記号(#)を追加するだけです。 )次のように、行の先頭まで:
#skip-innodb
- 変更をmy.cnfに保存します ファイルを作成し、テキストエディタを終了します。
-
Linuxディストリビューションに適切なコマンドを使用してMySQLサーバーを再起動します。
- CentOSおよびFedoraの場合は、次のように入力します。
service mysqld restart
-
DebianおよびUbuntuの場合、次のように入力します。
service mysql restart
- CentOSおよびFedoraの場合は、次のように入力します。
- 新しいデフォルトのデータベースエンジンを確認するには、 SHOW ENGINESを使用します 「デフォルトのデータベースエンジンの決定」セクションで説明されているSQLステートメント。
データベーステーブルが現在使用しているエンジンを確認するには、 mysql>で次のコマンドを入力します 促す。 データベースを置き換えます 確認するデータベースの名前:
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database';
このコマンドは、データベース内のすべてのテーブルのリストと、各テーブルが使用しているエンジンを表示します。
すでに存在するテーブルのデータベースエンジンを変更できます。たとえば、次のSQLステートメントは、 myTableという名前のテーブルを変更する方法を示しています。 InnoDBエンジンを使用するには:
ALTER TABLE myTable ENGINE = InnoDB;
データベースにテーブルを作成する場合、そのデータベースエンジンを明示的に設定できます(そうでない場合、MySQLはテーブルの作成時にデフォルトのデータベースエンジンを使用します)。たとえば、次のSQLステートメントは、 myTableという名前のテーブルを作成する方法を示しています。 MyISAMデータベースエンジンを使用するもの:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE MyISAM;
同様に、InnoDBデータベースエンジンを使用するテーブルを作成するには、次のSQLステートメントを使用できます。
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE InnoDB;
- MyISAMエンジンの詳細については、http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.htmlにアクセスしてください。
- InnoDBエンジンの詳細については、http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.htmlにアクセスしてください。