修改表空间tablespace_name添加| drop}数据文件file_name“[INITIAL_SIZE (=)大小[=]引擎[=]engine_name
此语句用于添加新的数据文件,或从表空间中删除数据文件。
的添加数据文件
变量使您能够使用INITIAL_SIZE
条款,大小
以字节为度量单位;默认值为134217728 (128 MB)。您可以选择以下内容大小
用一个字母缩写表示数量级,类似于在my.cnf
.一般来说,这是其中一个字母米
(mb)或G
(g)。
所有NDB集群磁盘数据对象共享同一个命名空间。这意味着每个磁盘数据对象必须唯一命名(而不仅仅是给定类型的每个Disk Data对象)。例如,表空间和数据文件不能同名,或者undo日志文件和表空间不能同名。
在32位系统上,支持的最大值INITIAL_SIZE
是4294967296 (4 GB)。(错误# 29186)
INITIAL_SIZE
是四舍五入的,明确地,至于创建表空间
.
一旦创建了数据文件,它的大小就不能更改;但是,您可以使用extra向表空间添加更多的数据文件改变表空间……添加数据文件
语句。
使用删除数据文件
与修改表空间
删除数据文件'file_name
'。不能从表空间中删除正在被任何表使用的数据文件;换句话说,数据文件必须为空(没有使用区段)。看到第21.5.10.1节," NDB集群磁盘数据对象".此外,任何要删除的数据文件之前必须已经添加到表空间中创建表空间
或修改表空间
.
这两个改变表空间……添加数据文件
而且改变表空间……删除数据文件
需要一个引擎
子句,指定表空间使用的存储引擎。目前,惟一接受的值为engine_name
是NDB
而且NDBCLUSTER
.
等待
会被解析,但在其他方面会被忽略,因此在MySQL 5.7中没有影响。它的目的是为了未来的扩展。
当改变表空间……添加数据文件
是使用引擎= NDB
,在每个Cluster数据节点上创建一个数据文件。您可以验证数据文件是否已创建,并通过查询INFORMATION_SCHEMA。文件
表格例如,下面的查询显示属于名为的表空间的所有数据文件蝾螈
:
从INFORMATION_SCHEMA中选择LOGFILE_GROUP_NAME, FILE_NAME, EXTRA ->。TABLESPACE_NAME = 'newts' AND FILE_TYPE = 'DATAFILE';+--------------------+--------------+----------------+ | 额外LOGFILE_GROUP_NAME | FILE_NAME | | +--------------------+--------------+----------------+ | lg_3 | newdata.dat | CLUSTER_NODE = 3 | | lg_3 | newdata.dat | CLUSTER_NODE = 4 | | lg_3 | newdata2.dat | CLUSTER_NODE = 3 | | lg_3 | newdata2.dat | CLUSTER_NODE = 4 | +--------------------+--------------+----------------+ 2行集(0.03秒)
看到第24.3.9节," INFORMATION_SCHEMA FILES表".
修改表空间
仅对NDB集群的磁盘数据存储有用。看到第21.5.10节," NDB集群磁盘数据表".