创建日志文件组logfile_group添加撤销文件'undo_file' [initial_size [=]initial_size[undo_buffer_size [=]undo_buffer_size[redo_buffer_size [=]redo_buffer_size[nodegroup] [=]nodegroup_id[wait] [comment [=] '字符串']引擎[=]engine_name
此语句创建一个名为logfile_group
有一个单一的撤销
文件名为'undo_file
”。一个创建日志文件组
语句有且只有一个添加UNDOFILE
条款。有关日志文件组命名的规则,请参见第9.2节,“架构对象名称”.
所有NDB集群磁盘数据对象共享同一个命名空间。这意味着每个磁盘数据对象必须唯一命名(而不仅仅是给定类型的每个磁盘数据对象)。例如,表空间和日志文件组不能同名,表空间和数据文件不能同名。
在任何给定时间,每个NDB集群实例只能有一个日志文件组。
可选INITIAL_SIZE
参数设置撤销
文件的初始大小;如果未指定,默认为128米
(128字节)。可选UNDO_BUFFER_SIZE
属性使用的大小撤销
日志文件组的缓冲区;的默认值UNDO_BUFFER_SIZE
是8米
(8个字节);该值不能超过系统可用内存量。这两个参数都是以字节为单位指定的。您可以选择在其中一个或两个后面使用一个字母缩写表示一个数量级,类似于中使用的那些my.cnf
.一般来说,这是其中一个字母米
(兆字节)或G
(g)。
用于UNDO_BUFFER_SIZE
属性的值决定其大小的全局池SharedGlobalMemory
数据节点配置参数。属性的设置为此选项暗示的任何默认值InitialLogFileGroup
数据节点配置参数。
所允许的最大限额UNDO_BUFFER_SIZE
为629145600 (600 MB)。
的最大支持值INITIAL_SIZE
是4294967296 (4 GB)。(错误# 29186)
的最小允许值INITIAL_SIZE
为1048576 (1mb)。
的引擎
选项确定此日志文件组使用的存储引擎engine_name
作为存储引擎的名称。在MySQL 5.7中,这是必须的NDB
(或NDBCLUSTER
).如果引擎
未设置时,MySQL将尝试使用default_storage_engine
服务器系统变量(以前storage_engine
).在任何情况下,如果引擎没有指定为NDB
或NDBCLUSTER
,创建日志文件组
语句看似成功,但实际上创建日志文件组失败,如下所示:
mysql> CREATE LOGFILE GROUP lg1 -> ADD UNDOFILE 'undo.dat' INITIAL_SIZE = 10M;mysql>显示警告(0.00 sec)+-------+------+------------------------------------------------------------------------------------------------+ | 水平| |消息代码 | +-------+------+------------------------------------------------------------------------------------------------+ | 错误| 1478 |表存储引擎“InnoDB”不支持创建选项“表空间或日志文件组 ' | +-------+------+------------------------------------------------------------------------------------------------+ 1行组(0.00 sec) mysql> DROP LOGFILE GROUP lg1 ENGINE = NDB;ERROR 1529 (HY000): Failed to drop LOGFILE GROUP mysql> CREATE LOGFILE GROUP lg1 -> ADD UNDOFILE 'undo.dat' INITIAL_SIZE = 10M -> ENGINE = NDB;查询OK, 0行受影响(2.97秒)
事实上创建日志文件组
语句实际上并不返回错误NDB
存储引擎是命名的,但似乎是成功的,这是一个已知的问题,我们希望在NDB集群的未来版本中解决。
REDO_BUFFER_SIZE
,节点组
,等待
,评论
被解析但被忽略,因此在MySQL 5.7中没有效果。这些选项是为将来的扩展而准备的。
与连用时Engine [=] NDB .日志含义
、日志文件组并关联撤销
在每个Cluster数据节点上创建日志文件。您可以验证撤销
已创建文件,并可通过查询INFORMATION_SCHEMA。文件
表格例如:
mysql>从INFORMATION_SCHEMA中SELECT LOGFILE_GROUP_NAME, LOGFILE_GROUP_NUMBER, EXTRA ->。FILES -> WHERE FILE_NAME = 'undo_10.dat';+--------------------+----------------------+----------------+ | 额外LOGFILE_GROUP_NAME | LOGFILE_GROUP_NUMBER | | +--------------------+----------------------+----------------+ | lg_3 | 11 | CLUSTER_NODE = 3 | | lg_3 | 11 | CLUSTER_NODE = 4 | +--------------------+----------------------+----------------+ 2行集(0.06秒)
创建日志文件组
仅对NDB集群的磁盘数据存储有用。看到第21.6.10节“NDB集群磁盘数据表”.