Documentation Home
MySQL 8.0 参考手册  / 第 13 章 SQL 语句  / 13.1 数据定义语句  /  13.1.5 ALTER LOGFILE GROUP 语句

13.1.5 ALTER LOGFILE GROUP 语句

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

此语句将UNDO名为“ file_name”的文件添加到现有日志文件组logfile_group。一个 ALTER LOGFILE GROUP语句只有一个ADD UNDOFILE子句。DROP UNDOFILE目前不支持 任何 子句。

笔记

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

可选INITIAL_SIZE参数 UNDO以字节为单位设置文件的初始大小;如果未指定,初始大小默认为 134217728 (128 MB)。您可以选择size在一个数量级后跟一个单字母缩写,类似于my.cnf. 通常,这是字母M(megabytes) 或 G(gigabytes) 之一。(错误#13116514、错误#16104705、错误#62858)

在 32 位系统上,支持的最大值为 INITIAL_SIZE4294967296 (4 GB)。(漏洞 #29186)

允许的最小值为INITIAL_SIZE1048576 (1 MB)。(漏洞 #29574)

笔记

WAIT被解析但被忽略。此关键字目前没有任何作用,供将来扩展使用。

参数(必填)决定了该ENGINE日志文件组使用的 engine_name存储引擎,为存储引擎的名称。目前,唯一接受的值 engine_nameNDBCLUSTERNDB。这两个值是等价的。

这是一个示例,它假设 lg_3已经使用 CREATE LOGFILE GROUP(请参阅 第 13.1.15 节,“CREATE LOGFILE GROUP 语句”)创建了日志文件组:

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

ALTER LOGFILE GROUPENGINE = NDBCLUSTER(或者, ENGINE = NDB)一起使用时,将UNDO在每个 NDB Cluster 数据节点上创建一个日志文件。您可以通过查询表来验证UNDO文件是否已创建并获取有关它们的信息 。INFORMATION_SCHEMA.FILES例如:

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)

(参见第 24.3.9 节,“INFORMATION_SCHEMA FILES 表”。)

用于的内存UNDO_BUFFER_SIZE来自全局池,其大小由 SharedGlobalMemory数据节点配置参数的值决定。InitialLogFileGroup这包括数据节点配置参数 的设置为此选项隐含的任何默认值 。

ALTER LOGFILE GROUP仅对 NDB Cluster 的磁盘数据存储有用。有关更多信息,请参阅 第 21.6.11 节,“NDB Cluster 磁盘数据表”