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)。在 MySQL NDB Cluster 7.3.2 之前,这个值需要用数字指定;在 MySQL NDB Cluster 7.3.2 及更高版本中,您可以选择size
在一个数量级后跟一个单字母缩写,类似于my.cnf
. 通常,这是字母M
(megabytes) 或
G
(gigabytes) 之一。(错误#13116514、错误#16104705、错误#62858)
在 32 位系统上,支持的最大值为
INITIAL_SIZE
4294967296 (4 GB)。(漏洞 #29186)
允许的最小值为INITIAL_SIZE
1048576 (1 MB)。(漏洞 #29574)
WAIT
被解析但被忽略。此关键字目前没有任何作用,供将来扩展使用。
参数(必填)决定了该ENGINE
日志文件组使用的
engine_name
存储引擎,为存储引擎的名称。目前,唯一接受的值
engine_name
是
“ NDBCLUSTER
”和
“ NDB
”。这两个值是等价的。
这是一个示例,它假设
lg_3
已经使用
CREATE LOGFILE GROUP
(请参阅
第 13.1.14 节,“CREATE LOGFILE GROUP 语句”)创建了日志文件组:
ALTER LOGFILE GROUP lg_3
ADD UNDOFILE 'undo_10.dat'
INITIAL_SIZE=32M
ENGINE=NDBCLUSTER;
当ALTER LOGFILE GROUP
与ENGINE = 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)
(参见第 21.5.1 节,“INFORMATION_SCHEMA FILES 表”。)
用于的内存UNDO_BUFFER_SIZE
来自全局池,其大小由
SharedGlobalMemory
数据节点配置参数的值决定。InitialLogFileGroup
这包括数据节点配置参数
的设置为此选项隐含的任何默认值
。
ALTER LOGFILE GROUP
仅对 NDB Cluster 的磁盘数据存储有用。有关更多信息,请参阅
第 18.6.11 节,“NDB Cluster 磁盘数据表”。