必要な InnoDB
設定パラメータを含む事ができるように、MySQLをインストールし、オプション
ファイルを編集したと仮定してください。MySQL
を起動する前に、InnoDB
データ
ファイルとログ
ファイルの為に指定したディレクトリが存在する事、そしてMySQL
サーバがそれらのディレクトリにアクセスする権利がある事を確認しなければいけません。
InnoDB
はファイルだけを作成し、ディレクトリは作成しません。データとログ
ファイルの領域が充分である事も確認してください。
InnoDB
が有効な状態でサーバを初めて起動する時には、MySQL
サーバ mysqld は
mysqld_safe ラッパからや、Windows
サービスとしてではなく、コマンド
プロンプトから起動させるのが一番良いです。コマンド
プロンプトから起動する時、mysqld
が何をプリントするか、また何が起こっているかが分かります。Unix
上では、ただ mysqld
を呼び出して下さい。Windows
上では、--console
オプションを利用してください。
オプション ファイル内で初めて
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
ファイル内に各テーブルを格納します。詳しくは
項13.5.3.1. 「Per-Table テーブルスペースを利用する」
を参照してください。