### 13.1.6 ALTER LOGFILE GROUP 语句

[](<>)

```
ALTER LOGFILE GROUP logfile_group
    ADD UNDOFILE 'file_name'
    [INITIAL_SIZE [=] size]
    [WAIT]
    ENGINE [=] engine_name
```

该声明增加了一个`撤消`文件名为'*`文件名`*' 到现有的日志文件组*`日志文件组`*.一个[`更改日志文件组`](alter-logfile-group.html)语句只有一个`添加撤销文件`条款。不`删除撤销文件`当前支持子句。

笔记

所有 NDB Cluster 磁盘数据对象共享相同的命名空间。这意味着*每个磁盘数据对象*必须唯一命名（而不仅仅是给定类型的每个磁盘数据对象）。例如，您不能拥有同名的表空间和撤消日志文件，或者同名的撤消日志文件和数据文件。

可选的`INITIAL_SIZE`参数设置`撤消`文件的初始大小（以字节为单位）；如果未指定，则初始大小默认为 134217728 (128 MB)。您可以选择关注*`尺寸`*一个数量级的单字母缩写，类似于在`我的.cnf`.通常，这是其中一个字母`米`（兆字节）或`G`（千兆字节）。（错误 #13116514、错误 #16104705、错误 #62858）

在 32 位系统上，支持的最大值为`INITIAL_SIZE`是 4294967296 (4 GB)。（错误 #29186）

允许的最小值`INITIAL_SIZE`是 1048576 (1 MB)。（错误 #29574）

笔记

`等待`被解析但被忽略。这个关键字目前没有效果，并且是为将来的扩展而设计的。

这`引擎`参数（必需）确定此日志文件组使用的存储引擎，与*`引擎名称`*是存储引擎的名称。目前，唯一接受的值为*`引擎名称`*是 ”[`NDBCLUSTER`](mysql-cluster.html)“ 和 ”[`新开发银行`](mysql-cluster.html)”。这两个值是等价的。

这是一个示例，它假设日志文件组`lg_3`已经使用[`创建日志文件组`](create-logfile-group.html)（看[第 13.1.16 节，“CREATE LOGFILE GROUP 语句”](create-logfile-group.html)):

```
ALTER LOGFILE GROUP lg_3
    ADD UNDOFILE 'undo_10.dat'
    INITIAL_SIZE=32M
    ENGINE=NDBCLUSTER;
```

什么时候[`更改日志文件组`](alter-logfile-group.html)与`引擎 = NDBCLUSTER`（或者，`引擎 = NDB`）， 一个`撤消`在每个 NDB Cluster 数据节点上创建日志文件。您可以验证`撤消`创建文件并通过查询[`INFORMATION_SCHEMA.FILES`](information-schema-files-table.html)桌子。例如：

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

（看[第 26.3.15 节，“信息\_架构文件表”](information-schema-files-table.html).)

用于的内存`UNDO_BUFFER_SIZE`来自全局池，其大小由[`共享全局内存`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-sharedglobalmemory)数据节点配置参数。这包括通过设置为该选项隐含的任何默认值[`初始日志文件组`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-initiallogfilegroup)数据节点配置参数。

[`更改日志文件组`](alter-logfile-group.html)仅对 NDB Cluster 的磁盘数据存储有用。有关详细信息，请参阅[第 23.6.10 节，“NDB Cluster 磁盘数据表”](mysql-cluster-disk-data.html).
