MySQL集群如何创建磁盘表方法解释
MySQL集群使用一系列磁盘数据对象来实现磁盘表。
表空间:的功能是作为其他磁盘数据对象的容器。
撤消日志文件:存储回滚事务所需的信息,一个或多个撤消日志文件组成日志文件组,最后,日志文件组与单个组相关联。
数据文件:该功能是存储表中的数据,和数据文件的表空间直接相关。
在每个数据节点,重做日志文件和数据文件都是实际的文件,默认是存储在ndb_node_id_fs文件夹。路径是通过在MySQL集群config.ini datadir指定,并node_id是config.ini.the路径config.ini UNDO日志或数据文件可以用绝对路径或相对路径指定的表空间和日志文件组并不是实际的文件。
注意:虽然并非所有磁盘数据对象都存储为文件,但它们共享相同的名称空间,这意味着每个磁盘数据对象必须唯一地命名。
两。创建一个步骤
MySQL集群需要包含以下步骤来创建磁盘表:
2.1、创建一个连接一个或多个重做日志文件到日志文件组(撤消日志文件也被称为undofile)。注意,撤消日志文件时只需磁盘创建表,这是没有必要创建一个NDB存储表。
2.2、创建一个表空间,一个日志文件组和一个或多个数据文件的顶部。
2.3、使用表空间创建一个磁盘的表来存储数据。
下面举个例子:
2.4,创建日志文件组:
我们创建一个日志文件组名为lg_cloudstor,它包含两UNDO日志文件的初始大小和cloudstor_undo_2.log.the cloudstor_undo_1.log分别为200m和100m。默认的日志文件的初始大小撤消128M。您也可以指定日志文件组的写缓冲区的大小(默认为8M)。在这里,我们将其设置为2000米。在创建日志文件组时,必须用一个撤销日志文件创建它:
复制代码代码如下所示:
创建日志文件组lg_cloudstor
添加undofile'cloudstor_undo_1日志。
initial_size 200m
undo_buffer_size 20m
发动机ndbcluster;
这种说法可能是错误的。有一种错误1064(42000)语法错误信息,因为字符集的问题是首先执行:设置character_set_client = latin1;执行:
添加一个新的撤消日志文件:
复制代码代码如下所示:
改变日志组lg_cloudstor
添加undofile'cloudstor_undo_2日志。
initial_size 100m
发动机ndbcluster;
2.5。创建表空间
我们创建了一个表空间,表空间的创建和存储UNDO日志指定日志文件组,你还必须指定一个数据文件,当表空间被创建,你可以添加更多的数据文件后的表空间。接下来,我们创建一个表空间,使用日志文件组lg_cloudstor称ts_cloudstore。表空间包含两个数据文件,cloudstore_data_1.dbf和cloudstore_data_2.dbf,初始大小为100M(默认是128M的),和自动扩展文件。
复制代码代码如下所示:
创建表空间ts_cloudstore
datafile'cloudstore_data_1 DBF的添加。
使用日志文件组lg_cloudstor
initial_size 100m
autoextend_size 10m
发动机ndbcluster;
添加一个新的数据文件
复制代码代码如下所示:
改变表空间ts_cloudstore
datafile'cloudstore_data_2 DBF的添加。
initial_size 100m
autoextend_size 10m
发动机ndbcluster;
我们可以查看物理磁盘上新文件上的数据文件。
2.6。创建磁盘表
创建一个磁盘列表存储非索引列在表空间ts_cloudstore。
复制代码代码如下所示:
创建表disktable
(
auto_increment主键ID int,
C1 varchar(50)不为空,
C2 varchar(30)默认为空,
日期默认值为null,
指数(C1)
)
ts_cloudstore磁盘存储空间
发动机ndbcluster;
这样,C2和C3的数据将存储在磁盘上,id和C1的数据仍然存储在内存中,因为只有没有索引的列可以存储在磁盘上。当创建完成时,可以进行正常的数据操作。
日志文件的磁盘组,表空间,数据表需要在一个特定的顺序执行,它是删除,删除规则:任何表空间的日志文件,日志文件组不能被删除;当表空间包含的任何数据文件,表空间不能被删除;数据文件包含的任何时刻表残余从表不能删除数据文件空间。
2.7。删除数据表
复制代码代码如下所示:
disktable表;
2.8。删除数据文件
当没有表与表空间关联时,我们一个接一个地删除数据文件。
复制代码代码如下所示:
改变表空间ts_cloudstore
datafile'cloudstore_data_1 DBF的下降。
发动机ndbcluster;
改变表空间ts_cloudstore
datafile'cloudstore_data_2 DBF的下降。
发动机ndbcluster;
2.9。删除表空间
复制代码代码如下所示:
删除表空间ts_cloudstore
发动机ndbcluster;
2.10。删除日志组
复制代码代码如下所示:
lg_cloudstor滴日志组
发动机ndbcluster;
检查物理文件是否已被删除。
磁盘的表信息可以查看文件中的表中的information_schema数据库。
2.11,注意的几个要点
在磁盘上的数据表格、文本和BLOB列256bytes存储在内存中,其余的内容存储在磁盘上的磁盘;表中的每一行需要存储在内存8bytes数据到磁盘上的数据,使用初始选项启动群集,不删除磁盘上的数据文件,你必须手动删除。