时间:2021-07-01 10:21:17 帮助过:32人阅读
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.25.50 # 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.25.49 # Hostname or IP address
[ndbd]
# Options for data node "B":
HostName=192.168.25.48 # Hostname or IP address
[mysqld]
# SQL node A options:
HostName=192.168.25.49 # Hostname or IP address
[mysqld]
# SQL node B options:
HostName=192.168.25.48 # Hostname or IP address
在配置数据节点(192.168.25.48、192.168.25.49)的计算机上的C:\Mysql\Bin目录下建立cluster-data文件夹,用来存放数据:
SQL节点不用任何配置,至此,整个MySQL集群就搭建完成了。
启动MySQL集群时,有一个启动顺序:先启动管理节点,再启动数据节点,再启动sql节点。
在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
在cmd中运行如下命令:
c:\mysql\bin\ndbd.exe --ndb-connectstring=192.168.25.50
在cmd中运行如下命令:
c:\mysql\bin\mysqld.exe --ndbcluster --ndb-connectstring=192.168.25.50 --console
现在整个MySQL集群就已经启动了。
在管理节点所在计算机上(192.168.25.50)打开ndb_mgm.exe,或者直接在cmd中运行
c:\mysql\bin\ndb_mgm
执行“show”命令,可以查看到每个节点的连接状态:
这就表明每个节点均连接正常。下面测试数据。
在sql节点A的计算机上(192.168.25.49)的cmd中运行C:\mysql\bin\mysql.exe -u root -p命令登录mysql,接下来需要输入密码时,密码默认为空(直接回车)。
创建数据库并插入数据:
—–创建名为”MySQL_Cluster_Test”的数据库:
create database MySQL_Cluster_Test;
—–创建表”T_User”:
use MySQL_Cluster_Test;
create table T_User(Name varchar(32),Age int) engine=ndbcluster;
注意建表语句后面一定要加上 engine=ndbcluster
—–插入数据:
insert into T_User values(‘DannyHoo‘,26);
—–查询数据:
select * from T_User;
同样在sql节点B的计算机上(192.168.25.48)的cmd中运行C:\mysql\bin\mysql.exe -u root -p命令登录mysql。
执行 show databases; 命令可以查看到在sql节点A新建的数据库;
执行use MySQL_Cluster_Test;
select * from T_User;
可以查询到在sql节点A插入的数据。
到这里,整个集群的搭建和测试就完成了。假如一个数据节点宕机,并不会影响整个集群的运行,任何一个数据节点死掉甚至物理损坏都不用担心,因为每个数据节点保存的数据都是完整的一份数据(在你操作数据的时候,它早就自动为你把最新的数据备份到每一个数据节点上啦)。你可以测试一下,这时手动停止某个数据节点和sql节点,另外一个数据节点和sql节点还会正常运行。当你把停止的数据节点和sql节点重新启动时,会发现又重新连接到集群里了,而且每个数据节点的数据都是最新的。
版权声明:本文为博主原创文章,未经博主允许不得转载。
在Windows环境下配置MySQL集群
标签:mysqlclust mysql集群 mysql 集群