MySQL をインストールし、必要な InnoDB
構成パラメータが含まれるようにオプションファイルを編集したと仮定します。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 サーバーに接続できます。mysqladmin shutdown を使用して MySQL サーバーをシャットダウンすると、次のように出力されます。
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
ファイルに格納されます。セクション14.5.2「InnoDB File-Per-Table モード」を参照してください。