原文:http://blog.csdn.net/chenxiaochan/article/details/50856072
【准備工作】
1、mysql-cluster-gpl-7.4.9-winx64
下載方式:
http://dev.mysql.com/downloads/cluster/
2、兩台電腦
一台配置管理節點,一個數據節點和一個sql節點,一台配置一個數據節點和一個sql節點。
管理節點:192.168.22.238
數據節點A:192.168.22.238
數據節點B:192.168.22.240
SQL節點A:192.168.22.238
SQL節點B:192.168.22.240
【搭建之路】
一、配置mysql集群
1、將下載的mysql集群壓縮包解壓到管理節點192.168.22.238的C:\mysql目錄下:
2、配置管理節點:
在配置管理節點(192.168.22.238)的計算機上的C:\Mysql\Bin目錄下建立cluster-logs和config兩個文件夾。cluster-logs用來存儲日志文件,在config文件夾中建立my.ini和config.ini兩個配置文件:
my.ini
[mysql_cluster]
# Options for management node process
config-file=C:/mysql/bin/config/config.ini
config.ini
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataDir=C:/mysql/bin/cluster-data # Directory for each data node's data files
# Forward slashes used in directory path,
# rather than backslashes. This is correct;
# see Important note in text
DataMemory=80M # Memory allocated to data storage
IndexMemory=18M # Memory allocated to index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example Cluster setup.
[ndb_mgmd]
# Management process options:
HostName=192.168.22.238 # Hostname or IP address of management node
DataDir=C:/mysql/bin/cluster-logs # Directory for management node log files
[ndbd]
# Options for data node "A":
HostName=192.168.22.238 # Hostname or IP address
[ndbd]
# Options for data node "B":
HostName=192.168.22.240 # Hostname or IP address
[mysqld]
# SQL node A options:
HostName=192.168.22.238 # Hostname or IP address
[mysqld]
# SQL node B options:
HostName=192.168.22.240 # Hostname or IP address
3、配置數據節點:
在配置數據節點(192.168.25.48、192.168.25.49)的計算機上的C:\Mysql\Bin目錄下建立cluster-data文件夾,用來存放數據:SQL節點不用任何配置,至此,整個MySQL集群就搭建完成了。
將管理節點(192.168.22.238)電腦C:\mysql文件拷到192.168.22.240電腦的C盤
二、啟動mysql集群
啟動順序:管理節點→數據節點→sql節點
1、啟動管理節點
在cmd中運行命令:
c:\mysql\bin\ndb_mgmd.exe --configdir=c:\mysql\bin\config --config-file=c:\mysql\bin\config\config.ini --ndb-nodeid=1 --reload –initial
2、啟動每個數據節點:
在cmd中運行如下命令:
c:\mysql\bin\ndbd.exe --ndb-connectstring=192.168.22.238
3、啟動每個sql節點:
在cmd中運行如下命令:
c:\mysql\bin\mysqld.exe --ndbcluster --ndb-connectstring=192.168.22.238 --console
4、查看每個節點的狀態
在cmd命令中運行:c:\mysql\bin\ndb_mgm,再執行“show”命令,可以查看到每個節點的連接狀態:
這就表明每個節點均連接正確。
【測試mysql集群】
1、在sql節點A建立數據庫並插入數據:
在sql節點A的計算機上(192.168.22.238)的cmd中運行C:\mysql\bin\mysql.exe -u root -p命令登錄mysql,接下來需要輸入密碼時,密碼默認為空(直接回車)。
·創建名為“chan”的數據庫:
create database chan;
·創建名為“T_chan”的表:
use chan;
create table T_chan(Name varchar(23),Age int) engine=ndbcluster;
注意建表語句后面一定要加上 engine=ndbcluster,為什么要加上,在下一篇博客中會介紹。
·插入數據:
insert into T_chan values('chan',23);
·查詢數據:
select * from T_chan;
2、在sql節點B查到數據
在sql節點B的計算機上(192.168.22.240)的cmd中運行C:\mysql\bin\mysql.exe -u root -p命令登錄mysql。
執行 show databases; 命令可以查看到在sql節點A新建的數據庫;
執行
use chan;
select * from T_chan;
可以查詢到在sql節點A插入的數據。
到這里mysql集群搭建就已經完成了。在搭建過程中也遇到了一些問題,在接下來的博客中,將會將會把我遇到的問題分享給大家。
【總結】
mysql集群我們現在做到的是加入一個數據節點宕機后,不會影響整個集群的運行,數據也不會丟失,保證了數據的完整性。