必要な InnoDB
設定パラメータを含むことができるように、MySQL
をインストールし、オプションファイルを編集したと仮定してください。MySQL
を起動する前に、InnoDB
データファイルとログファイルのために指定したディレクトリが存在すること、そして
MySQL
サーバーがそれらのディレクトリにアクセスする権利があることを確認しなければいけません。InnoDB
はファイルだけを作成し、ディレクトリは作成しません。データとログファイルの領域が充分であることも確認してください。
InnoDB
が有効な状態でサーバーをはじめて起動するときには、MySQL
サーバー mysqld は
mysqld_safe
からや、Windows
サービスとしてではなく、コマンドプロンプトから起動させるのが一番良いです。コマンドプロンプトから起動するとき、mysqld
が何をプリントするか、また何が起こっているかが分かります。Unix
上では、ただ mysqld
を呼び出してください。Windows
上では、出力先がコンソールウィンドウになるように、--console
オプションを利用して
mysqld
を起動させます。
オプションファイル内ではじめて
InnoDB
を設定したあと
MySQL
サーバーを起動するとき、InnoDB
はデータファイルとログファイルを作成し、次のようなものをプリントします:
InnoDB: The first specified datafile /home/heikki/data/ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file /home/heikki/data/ibdata1 size to 134217728 InnoDB: Database physically writes the file full: wait... InnoDB: datafile /home/heikki/data/ibdata2 did not exist: new to be created InnoDB: Setting file /home/heikki/data/ibdata2 size to 262144000 InnoDB: Database physically writes the file full: wait... InnoDB: Log file /home/heikki/data/logs/ib_logfile0 did not exist: new to be created InnoDB: Setting log file /home/heikki/data/logs/ib_logfile0 size to 5242880 InnoDB: Log file /home/heikki/data/logs/ib_logfile1 did not exist: new to be created InnoDB: Setting log file /home/heikki/data/logs/ib_logfile1 size to 5242880 InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created InnoDB: Creating foreign key constraint system tables InnoDB: Foreign key constraint system tables created InnoDB: Started mysqld: ready for connections
この時点で InnoDB
はテーブル領域とログファイルを初期化しました。mysql
のように、通常の MySQL
クライアントプログラムを利用して MySQL
サーバーに接続することができます。MySQL
サーバーを mysqladmin
shutdown
を利用して終了するとき、出力は次のようになります:
010321 18:33:34 mysqld: Normal shutdown 010321 18:33:34 mysqld: Shutdown Complete InnoDB: Starting shutdown... InnoDB: Shutdown completed
データファイルとログディレクトリを見ると、そこに作成されたファイルを確認することができます。MySQL が再起動するとき、データファイルとログファイルはすでに作成されているので、出力はさらにブリーフなものになっています:
InnoDB: Started mysqld: ready for connections
もし
innodb_file_per_table
オプションを my.cnf
に追加すると、InnoDB
は、.frm
ファイルが作成されたのと同じ MySQL
データベースディレクトリ内の
.ibd
ファイル内に各テーブルを格納します。項9.2.1. 「Per-Table テーブル領域を利用する」
を参照してください。