CREATE LOGFILE GROUP 構文

CREATE LOGFILE GROUP logfile_group
    ADD UNDOFILE 'undo_file'
    INITIAL_SIZE [=] initial_size
    [UNDO_BUFFER_SIZE [=] undo_buffer_size]
    ENGINE [=] engine_name

このステートメントは、'undo_file' と名づけられた単一 UNDO ファイルを持つ logfile_group という名前の新しいログ ファイル グループを作成する事ができます。CREATE LOGFILE GROUP ステートメントはたった一つの ADD UNDOFILE 条項を持ちます。

MySQL 5.1.8 から、いつでも1つのクラスタに付き1つだけのログ ファイル グループを持つ事ができるようになりました。(バグ #16386を参照して下さい。)

INITIAL_SIZE パラメータは UNDO ファイルの初期サイズを設定します。任意の UNDO_BUFFFER_SIZE パラメータは、ログ ファイル グループに対して UNDO バッファに利用されるサイズを設定します。UNDO_BUFFER_SIZE のデフォルト値は 8M (8メガバイト)で、この値は有効なシステム メモリの量を超える事はできません。initial_sizeundo_buffer_size_size の両方はバイトで指示されます。my.cnf で利用されている物と同様、大きさによって一文字の省略形を持つこれらのうちのどちらか、または両方に従う事もできます。通常これは M (メガ バイト) か G (ギガ バイト)のどちらかの文字です。

ENGINE パラメータが、このログ ファイル グループによって利用されるストレージ エンジンを決め、その名前はengine となります。MySQL 5.1 では engineNDBNDBCLUSTER の値の1つにならなければいけません。

ENGINE = NDB と一緒に利用された時、ログ ファイル グループと、関連する UNDO ログ ファイルは、各クラスタ データ ノード上に作成されます。INFORMATION_SCHEMA.FILES テーブルに問い合わせする事によって UNDO ファイルが作成され、それらの情報を得た事を証明する事ができます。例:

mysql> SELECT LOGFILE_GROUP_NAME, LOGFILE_GROUP_NUMBER, EXTRA
    -> FROM INFORMATION_SCHEMA.FILES
    -> WHERE FILE_NAME = 'undo_10.dat';
+--------------------+----------------------+----------------+
| LOGFILE_GROUP_NAME | LOGFILE_GROUP_NUMBER | EXTRA          |
+--------------------+----------------------+----------------+
| lg_3               |                   11 | CLUSTER_NODE=3 |
| lg_3               |                   11 | CLUSTER_NODE=4 |
+--------------------+----------------------+----------------+
2 rows in set (0.06 sec)

(詳しくは 項21.21. 「INFORMATION_SCHEMA FILES テーブル」 を参照してください。)

MySQL 5.1.6 では CREATE LOGFILE GROUP が追加されました。MySQL 5.1 では MySQL クラスタの ディスク データ ストレージと一緒の時のみ利用する事ができます。詳しくは 項14.11. 「MySQL Cluster ディスク データ ストレージ」 を参照してください。