ALTER LOGFILE GROUP语句
ALTER LOGFILE GROUP logfile_groupADD UNDOFILE 'file_name' [INITIAL_SIZE [=] size] [WAIT ]ENGINE [=] engine_name
该语句将UNDO
名为“file_name
'的文件添加到现有的日志文件组中logfile_group
。一条ALTER LOGFILE GROUP
语句只有一个ADD UNDOFILE
子句。DROP UNDOFILE
当前不支持任何子句。
注意所有NDB群集磁盘数据对象共享相同的名称空间。这意味着每个磁盘数据对象必须唯一地命名(而不仅仅是给定类型的每个磁盘数据对象)。例如,您不能具有相同名称的表空间和撤消日志文件,或具有相同名称的撤消日志文件和数据文件。
可选INITIAL_SIZE
参数设置UNDO
文件的初始大小(以字节为单位)。如果未指定,则初始大小默认为134217728(128 MB)。您可以选择后面size
跟一个字母缩写,代表一个数量级,类似于中使用的缩写my.cnf
。通常,这是字母M
(兆字节)或G
(千兆字节)之一。(缺陷#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
(请参见“ CREATE LOGFILE GROUP语句”):
ALTER LOGFILE GROUP lg_3ADD UNDOFILE 'undo_10.dat'INITIAL_SIZE =32MENGINE =NDBCLUSTER ;
当ALTER LOGFILE GROUP
与用于ENGINE = NDBCLUSTER
(可替换地,ENGINE = NDB
),一个UNDO
在每个NDB簇数据节点上创建日志文件。您可以验证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)
(请参见“ INFORMATION_SCHEMA FILES表”。)
用于的内存UNDO_BUFFER_SIZE
来自全局池,该全局池的大小由SharedGlobalMemory
数据节点配置参数的值确定。这包括设置InitialLogFileGroup
数据节点配置参数对此选项隐含的任何默认值。
ALTER LOGFILE GROUP
仅对NDB群集的磁盘数据存储有用。有关更多信息,请参见“ NDB群集磁盘数据表”。