1. 程式人生 > >MySQL數據庫管理(二)單機環境下MySQL Cluster的安裝

MySQL數據庫管理(二)單機環境下MySQL Cluster的安裝

img 任務管理器 value 機器 tail -a bsp ron 技術分享

上文《MySQL數據庫管理(一)MySQL Cluster集群簡單介紹》對MySQL Cluster集群做了簡要介紹。本文將教大家一步步搭建單機環境下的MySQL數據庫集群。


一、單機環境搭建

首先到MySQl官網上 下http://www.mysql.com/downloads/Cluster/下載所需的安裝包。然後將下載得到的ZIP包解壓到C:\ypl\mysql\mysqlc


這個MySQL數據庫的集群由一個MySQL服務引擎(mysqlds)、兩個數據節點(ndbd)和一個管理節點(ndb_mgmd)組成,全部的節點都執行在同一臺機器上。依次建立下面目錄:
C:\ypl\mysql\my_Cluster
C:\ypl\mysql\my_Cluster\ndb_data
C:\ypl\mysql\my_Cluster\mysqld_data\ndbinfo
C:\ypl\mysql\my_Cluster\conf

之後,在C:\ypl\mysql\my_Cluster\conf目錄中創建下述兩個配置文件:
(1)my.cnf
內容例如以下:

[mysqld]
ndbCluster
datadir=C:\\ypl\\mysql\\my_Cluster\\mysqld_data
basedir=C:\\ypl\\mysql\\mysqlc
port=3306
(2)config.ini
內容例如以下:

[ndb_mgmd]
hostname=localhost
datadir=C:\ypl\mysql\my_Cluster\ndb_data
id=1

[ndbd default]
noofreplicas=2
datadir=C:\ypl\mysql\my_Cluster\ndb_data

[ndbd]
hostname=localhost
id=3

[ndbd]
hostname=localhost
id=4

[mysqld]
hostname=localhost

mysqld進程須要一個名為mysql的系統數據庫,以存儲必要的系統數據和用戶數據。

故須要進行下面操作:

  • C:\ypl\mysql\mysqlc\data\mysql整個文件夾拷貝到C:\ypl\mysql\my_Cluster\ndb_data文件夾下。

  • 將C:\ypl\mysql\mysqlc\data\ndbinfo整個文件夾拷貝到C:\ypl\mysql\my_Cluster\ndb_data文件夾下。

在上述工作完畢後,就可以啟動MySQL Cluster。


二、啟動節點:管理節點-->數據節點-->SQl節點

(1)啟動管理節點

進入命令行工具潔面後依次輸入命令:

cd  C:\ypl\mysql\my_Cluster
start /B C:\ypl\mysql\mysqlc\bin\ndb_mgmd -f conf\config.ini --initial --configdir=C:\ypl\mysql\my_Cluster\conf

結果例如以下:

技術分享

技術分享


(2)啟動數據節點

  • 啟動第一個數據節點,輸入命令:

start /B C:\ypl\mysql\mysqlc\bin\ndbd -c localhost:1186

  • 啟動第二個數據節點。輸入命令:

start /B C:\ypl\mysql\mysqlc\bin\ndbd -c localhost:1186


(3)啟動MySQl服務引擎

輸入命令:

start /B C:\ypl\mysql\mysqlc\bin\mysqld --defaults-file=conf\my.cnf

查看數據節點是否啟動完成:

C:\ypl\mysql\mysqlc\bin\ndb_mgm  -e show

結果例如以下:

技術分享

技術分享

技術分享

技術分享

各個節點啟動成功後。能夠在進程裏看到全部節點的進程。啟動任務管理器,將看到結果。如圖:

技術分享

連接到MySQLserver。輸入命令:

C:\ypl\mysql\mysqlc\bin\mysql -u root -p123456



若連接成功。將出現例如以下界面:

技術分享

三、測試

創建數據庫yplbeyond(註意使用ndb),在該數據庫內創建表users,並插入數據

drop database if exists yplbeyond;

create database yplbeyond;
use yplbeyond;
create table users(
id int(3) auto_increment not null primary key,
uid char(50) not null,
pwd char(50) not null,
realname char(10) not null,
phone char(10) not null,
mail char(30) not null,
date datetime null
) engine=ndb;;
insert into users values(‘‘,‘人 民 大 學‘,‘rucedu‘,‘lizi‘,‘00000000‘,[email protected],‘‘);
select * from users;


技術分享

技術分享

技術分享

技術分享

技術分享


註意此時與在MySQL中建表不同,須要在表的末尾加上“engine=ndb;”。由於使用的是MySQL Cluster。標的存儲引擎是基於內存的NDB。而不是InnoDB。在目錄ypl內搜索。能夠查到C:\ypl\mysql\my_Cluster\ndb_data\ypl 文件夾下有剛創建的表。

同一時候應註意,當數據節點分布在不同機器上時,按InnoDB引擎存儲的數據在其他數據節點上查不到,能夠做對應的實驗來驗證。

MySQL Cluster的服務必須手動停止。服務停止後。其他集群節點能夠使用管理節點(ndb_mgm)來停止。輸入命令:

C:\ypl\mysql\mysqlc\bin\ndb_mgm -e shutdown

C:\ypl\mysql\mysqlc\bin\mysqladmin -u root -p123456 shutdown

結果例如以下:

技術分享

技術分享

技術分享



MySQL數據庫管理(二)單機環境下MySQL Cluster的安裝