欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL Cluster如何創(chuàng)建磁盤表方法解讀

 更新時(shí)間:2012年11月12日 09:43:33   作者:  
MySQL Cluster采用一系列的Disk Data objects來(lái)實(shí)現(xiàn)磁盤表;接下來(lái)為您詳細(xì)介紹
一、概念
MySQL Cluster采用一系列的Disk Data objects來(lái)實(shí)現(xiàn)磁盤表。
Tablespaces:作用是作為其他Disk Data objects的容器。
Undo log files:存儲(chǔ)事務(wù)進(jìn)行回滾需要的信息,一個(gè)或者多個(gè)undo log files組成一個(gè)log files group,最后,該log file group關(guān)聯(lián)到一個(gè)tablespaces。
Data files:作用是存儲(chǔ)表中的數(shù)據(jù),data file直接關(guān)聯(lián)到tablespaces。
在每一個(gè)數(shù)據(jù)節(jié)點(diǎn)上undo log files和data files都是實(shí)際的文件,默認(rèn)的,存放在ndb_node_id_fs文件夾下,該路徑是在MySQL Cluster的config.ini中用DataDir指定的,node_id是data node的node ID。可以用絕對(duì)路徑或者相對(duì)路徑指定undo log或者data file的路徑。tablespaces和log file group則不是實(shí)際的文件。
注意:盡管不是所有的Disk Data Object都作為文件存儲(chǔ),但是他們共享同一的命名空間,這意味著每個(gè)Disk Data Object必須唯一命名。
二、創(chuàng)建步驟
MySQL Cluster創(chuàng)建一個(gè)磁盤表需要包含以下幾步:
2.1、創(chuàng)建一個(gè)log file group,將一個(gè)或者多個(gè)undo log files關(guān)聯(lián)到它上面(undo log file也叫做 undofile)。注意,undo log file只是在創(chuàng)建磁盤表的時(shí)候才需要,創(chuàng)建ndb的內(nèi)存表的時(shí)候不需要。
2.2、創(chuàng)建一個(gè)tablespaces,關(guān)聯(lián)一個(gè)log file group和一個(gè)或者多個(gè)data files到上面。
2.3、使用該tablespaces創(chuàng)建一個(gè)磁盤表存儲(chǔ)數(shù)據(jù)。
下面做一個(gè)例子:
2.4、創(chuàng)建log file group:

我們創(chuàng)建一個(gè)名為lg_cloudstor的log file group,包含cloudstor_undo_1.log和cloudstor_undo_2.log兩個(gè)undo log file。初始大小分別為200M和100M(默認(rèn)的undo log file的初始大小為128M),你還可以指定log file group的重寫緩沖大小(默認(rèn)為8M),這里我們?cè)O(shè)置為20M。創(chuàng)建log file group的時(shí)候必須和一個(gè)undo log file一起創(chuàng)建。如下:
復(fù)制代碼 代碼如下:

CREATE LOGFILE GROUP lg_cloudstor
ADD UNDOFILE 'cloudstor_undo_1.log'
INITIAL_SIZE 200M
UNDO_BUFFER_SIZE 20M
ENGINE NDBCLUSTER;

該語(yǔ)句可能會(huì)出錯(cuò),出現(xiàn)ERROR 1064 (42000)語(yǔ)法錯(cuò)誤的信息,原因是字符集的問(wèn)題,先執(zhí)行:set character_set_client=latin1; 在執(zhí)行: 
1
添加新的undo log file:
復(fù)制代碼 代碼如下:

ALTER LOGFILE GROUP lg_cloudstor
ADD UNDOFILE 'cloudstor_undo_2.log'
INITIAL_SIZE 100M
ENGINE NDBCLUSTER;

2.5、創(chuàng)建tablespace
下來(lái)我們創(chuàng)建一個(gè)tablespace,創(chuàng)建tablespace必須指明一個(gè)log file group用于存儲(chǔ)undo log。還必須指定一個(gè)data file,tablespace創(chuàng)建完成后,你可以稍后添加更多的data file到tablespace。下來(lái)我們創(chuàng)建一個(gè)使用log file group為lg_cloudstor名為 ts_cloudstore的表空間,這個(gè)表空間包含cloudstore_data_1.dbf和cloudstore_data_2.dbf兩個(gè)data file,初始大小為100M(默認(rèn)為128M),自動(dòng)擴(kuò)展為10M。
復(fù)制代碼 代碼如下:

CREATE TABLESPACE ts_cloudstore
ADD DATAFILE 'cloudstore_data_1.dbf'
USE LOGFILE GROUP lg_cloudstor
INITIAL_SIZE 100M
AUTOEXTEND_SIZE 10M
ENGINE NDBCLUSTER;

添加新的datafile
復(fù)制代碼 代碼如下:

ALTER TABLESPACE ts_cloudstore
ADD DATAFILE 'cloudstore_data_2.dbf'
INITIAL_SIZE 100M
AUTOEXTEND_SIZE 10M
ENGINE NDBCLUSTER;

下來(lái)我們可以看下新建的這些文件在物理磁盤上的數(shù)據(jù)文件:
2 
2.6、創(chuàng)建磁盤表
下來(lái)創(chuàng)建一個(gè)將沒(méi)有索引的列存儲(chǔ)在表空間ts_cloudstore的磁盤表。
復(fù)制代碼 代碼如下:

create table Disktable
(
id int auto_increment primary key,
c1 varchar(50) not null,
c2 varchar(30) default null,
c3 date default null,
index(c1)
)
TABLESPACE ts_cloudstore STORAGE DISK
ENGINE NDBCLUSTER;

這樣,列c2,c3的數(shù)據(jù)將會(huì)存儲(chǔ)在磁盤上,id和c1的數(shù)據(jù)仍會(huì)存儲(chǔ)在內(nèi)存中,因?yàn)橹挥袥](méi)有索引的列才能存儲(chǔ)在磁盤上。創(chuàng)建完成后,就可以進(jìn)行正常的數(shù)據(jù)操作了。
log file group,tablespaces,Disk Data tables需要按照一定的順序執(zhí)行,刪除這些的時(shí)候也是這樣,刪除規(guī)則為:有任何表空間使用log file group時(shí),log file group不能刪除;表空間含有任何data files的時(shí)候,不能刪除表空間;Data files含有任何表殘余的時(shí)候,不能從表空間刪除數(shù)據(jù)文件。
2.7、刪除數(shù)據(jù)表
復(fù)制代碼 代碼如下:

drop table Disktable;

3 
2.8、刪除數(shù)據(jù)文件
當(dāng)沒(méi)有表在關(guān)聯(lián)到表空間的時(shí)候,我們一個(gè)一個(gè)刪除data files。
復(fù)制代碼 代碼如下:

alter tablespace ts_cloudstore
drop datafile 'cloudstore_data_1.dbf'
engine ndbcluster;
alter tablespace ts_cloudstore
drop datafile 'cloudstore_data_2.dbf'
engine ndbcluster;

4 
2.9、刪除表空間
復(fù)制代碼 代碼如下:

drop tablespace ts_cloudstore
engine ndbcluster;

2.10、刪除日志組
復(fù)制代碼 代碼如下:

drop logfile group lg_cloudstor
engine ndbcluster;

下來(lái)查看物理文件是否已經(jīng)刪除:
5 
可以在INFORMATION_SCHEMA數(shù)據(jù)庫(kù)中的FILES表中查看磁盤表的信息。
2.11、幾點(diǎn)注意的
在磁盤數(shù)據(jù)表中,TEXT和BLOB列的前256bytes存儲(chǔ)在內(nèi)存中,剩余內(nèi)容存儲(chǔ)在磁盤上;磁盤表中的每一行需要在內(nèi)存中存儲(chǔ)8bytes的數(shù)據(jù)用于指向磁盤上的數(shù)據(jù),使用--initial選項(xiàng)啟動(dòng)集群時(shí),不會(huì)刪除磁盤上的數(shù)據(jù)文件,必須手動(dòng)刪除。

相關(guān)文章

  • CentOS下將MySQL 5.1升級(jí)到MySQL 5.5的步驟

    CentOS下將MySQL 5.1升級(jí)到MySQL 5.5的步驟

    這篇文章主要介紹了CentOS下將MySQL 5.1升級(jí)到MySQL 5.5的步驟,需要的朋友可以參考下
    2015-08-08
  • mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用

    mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用

    本文主要介紹了mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • MySQL存儲(chǔ)引擎InnoDB與Myisam的區(qū)別分析

    MySQL存儲(chǔ)引擎InnoDB與Myisam的區(qū)別分析

    INNODB會(huì)支持一些關(guān)系數(shù)據(jù)庫(kù)的高級(jí)功能,如事務(wù)功能和行級(jí)鎖,MYISAM不支持。MYISAM的性能更優(yōu),占用的存儲(chǔ)空間少。所以,選擇何種存儲(chǔ)引擎,視具體應(yīng)用而定。
    2022-12-12
  • Access數(shù)據(jù)庫(kù)的存儲(chǔ)上限

    Access數(shù)據(jù)庫(kù)的存儲(chǔ)上限

    Access數(shù)據(jù)庫(kù)的存儲(chǔ)上限...
    2006-09-09
  • MySQL刪除表數(shù)據(jù)的方法

    MySQL刪除表數(shù)據(jù)的方法

    這篇文章主要介紹了MySQL刪除表數(shù)據(jù)的方法,小編覺(jué)得還是挺不錯(cuò)的,這里給大家分享一下,需要的朋友可以參考。
    2017-10-10
  • mysql中GROUP_CONCAT的使用方法實(shí)例分析

    mysql中GROUP_CONCAT的使用方法實(shí)例分析

    這篇文章主要介紹了mysql中GROUP_CONCAT的使用方法,結(jié)合實(shí)例形式分析了MySQL中GROUP_CONCAT合并查詢結(jié)果的相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • MySQL普通索引和唯一索引的深入講解

    MySQL普通索引和唯一索引的深入講解

    這篇文章主要給大家介紹了關(guān)于MySQL普通索引和唯一索引的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 深度探究:讓MySQL支撐億級(jí)流量的秘密!

    深度探究:讓MySQL支撐億級(jí)流量的秘密!

    MySQL是當(dāng)前最為常用的關(guān)系型數(shù)據(jù)庫(kù)之一,它的出色性能和可靠性使得它成為了許多互聯(lián)網(wǎng)企業(yè)的首選,但是,如何讓MySQL支撐億級(jí)流量的挑戰(zhàn),成為了很多技術(shù)人員需要面對(duì)和解決的問(wèn)題,需要的朋友可以參考下
    2023-10-10
  • MySQL Workbench導(dǎo)入excel數(shù)據(jù)的實(shí)現(xiàn)示例

    MySQL Workbench導(dǎo)入excel數(shù)據(jù)的實(shí)現(xiàn)示例

    本文主要介紹了MySQL Workbench導(dǎo)入excel數(shù)據(jù)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Navicat連接MySQL錯(cuò)誤描述分析

    Navicat連接MySQL錯(cuò)誤描述分析

    最近遇到了一件非常棘手的問(wèn)題,用Navicat連接MySQL總是出錯(cuò), 網(wǎng)上查閱了一下原因,最終找到解決方案,好吧,下面我就來(lái)回憶一下自己怎么處理這問(wèn)題的,分享到腳本之家平臺(tái)需要的朋友參考下吧
    2021-06-06

最新評(píng)論