CREATE LOGFILE GROUPlogfile_group
ADD UNDOFILE 'undo_file
' [INITIAL_SIZE [=]initial_size
] [UNDO_BUFFER_SIZE [=]undo_buffer_size
] [REDO_BUFFER_SIZE [=]redo_buffer_size
] [NODEGROUP [=]nodegroup_id
] [WAIT] [COMMENT [=]comment_text
] ENGINE [=]engine_name
このステートメントは、'undo_file
'
と名づけられた単一
UNDO
ファイルを持つ
logfile_group
という名前の新しいログファイルグループを作成することができます。CREATE
LOGFILE GROUP
ステートメントはたった 1
つの ADD UNDOFILE
節を持ちます。ログファイルグループの命名を管理する規則については、項5.2. 「スキーマオブジェクト名」
を参照してください。
すべての MySQL Cluster ディスクデータオブジェクトが同じ名前空間を共有します。つまり、各ディスクデータオブジェクトは (単に、特定の型の各ディスクデータオブジェクトというだけでなく) 一意に名前が付けられている必要があります。たとえば、テーブル領域とログファイルグループを同じ名前にしたり、テーブル領域とデータファイルを同じ名前にしたりすることはできません。
MySQL 5.1.8 から、いつでも 1 つのクラスタに付き 1 つだけのログファイルグループを持つことができるようになりました。(See Bug#16386)
MySQL Cluster NDB 6.2.17、6.3.23、および 6.4.3 より前のバージョンでは、UNDO ログファイルのパスとファイル名を 128 文字より長くすることができませんでした。(Bug#31769)
オプションの
INITIAL_SIZE
パラメータは、UNDO
ファイルの初期サイズを設定します。指定されていない場合は、デフォルトで
128M
(128M バイト)
になります。オプションの
UNDO_BUFFER_SIZE
パラメータは、ログファイルグループの
UNDO
バッファーで使用されるサイズを設定します。UNDO_BUFFER_SIZE
のデフォルト値は 8M
(8M バイト)
です。この値は、使用可能なシステムメモリーの量を超えることはできません。これらのパラメータは、どちらもバイト単位で指定されます。my.cnf
で利用されているものと同様、大きさによって一文字の省略形を持つこれらのうちのどちらか、または両方に従うこともできます。通常これは
M
(メガバイト) か
G
(ギガバイト)
のどちらかの文字です。
MySQL Cluster NDB 6.2.17、6.3.23、および 6.4.3
からは、UNDO_BUFFER_SIZE
に許可される最大値は
600M
です。以前は
150M
でした。(Bug#34102)
32
ビットシステムでは、INITIAL_SIZE
のサポートされる最大値は
4G
です。(Bug#29186)
MySQL Cluster NDB 2.1.18、6.3.24、および 7.0.4
からは、INITIAL_SIZE
に許可される最小値は
1M
です。(Bug#29574)
ENGINE
パラメータによって、このログファイルグループで使用されるストレージエンジンが決定され、ストレージエンジンの名前が
engine_name
になります。MySQL
5.1 では、engine_name
は
NDB
または
NDBCLUSTER
のどちらかの値である必要があります。
REDO_BUFFER_SIZE
、NODEGROUP
、WAIT
、および
COMMENT
は解析されますが、無視されます。そのため、MySQL
5.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)
CREATE LOGFILE GROUP
は、MySQL 5.1.6 で追加されました。MySQL 5.1
では、MySQL Cluster
のディスクデータストレージで使用する場合のみ有効です。MySQL Cluster Disk Data Tables
を参照してください。