欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows7实现mysql集群cluster-mysql簇

程序员文章站 2022-06-07 11:27:50
...
好消息,百度网盘专业搜索网站上线了
打开瞧一瞧:http://bitar.cn
下载:mysql-cluster-gpl-7.4.7-winx64
	内置了:mysql-5.6.25,ndb-7.4.7
文档可参考 mysql参考手册【mysql簇】
====================================================
管理(MGM)节点
	新建文件夹,存放ndb_mgm.exe 和ndb_mgmd.exe,就是管理(MGM)节点
	不需要mysql客户端
	端口监督程序和客户端二进制版本(分别是ndb_mgmd和ndb_mgm)
	config.ini
		 [ndbd default]
		NoOfReplicas=2
		DataDir=E:\\balance\\mysql-cluster\\mgm\\datanode
		DataMemory=80M
		IndexMemory=18M

		[mysqld default]
		[ndb_mgmd default]
		[tcp default]

		[ndb_mgmd]
		NodeId=1
		HostName=127.0.0.1 #管理节点服务器
		PortNumber=1186
		# Storage Engines
		DataDir=E:\\balance\\mysql-cluster\\mgm\\1

		[ndbd]
		NodeId=2
		HostName=127.0.0.1 #MySQL集群db1的IP地址
		#portnumber=2001
		DataDir=E:\\balance\\mysql-cluster\\mgm\\2
		#DataDir= D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data #如果不存在就创建一个

		[ndbd]
		NodeId=3
		HostName=127.0.0.1 #MySQL集群db2的IP地址
		#portnumber=2002
		DataDir=E:\\balance\\mysql-cluster\\mgm\\3
		#DataDir= D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data  #如果不存在就创建一个

		[MYSQLD]
		NodeId=5
		HostName=127.0.0.1
		#portnumber=3310
		[MYSQLD]
		NodeId=6
		HostName=127.0.0.1
		#portnumber=3320
	//启动管理节点
	ndb_mgmd --ndb-nodeid=1 
	--config-file=E:\\balance\\mysql-cluster\\mgm\\config.ini 
	--config-dir=E:\\balance\\mysql-cluster\\mgm 
	--initial 首次使用,会清空数据
	//用于安装 --install=ndb_mgmd 
数据(NDBD)
	复制ndbd.exe
	//启动存储节点(ndbd.exe 没有config参数)
	ndbd.exe 
	--ndb-nodeid=3 
	--ndb-connectstring=127.0.0.1:1186
	--initial 首次使用,会清空数据
	连上默认1186端口,mgm服务会分配nodeid


SQL节点
	用mysql-cluster的压缩包
	my.ini
		[mysqld]    
		ndbcluster
		port=3310
		ndb-connectstring=127.0.0.1

		[mysql_cluster]

		# Options for data node process:ndbcluster   
		ndb-connectstring=127.0.0.1
		# location of management server  
	启动sqld
		mysqld --defaults-file=E:\\balance\\mysql-cluster\\mysql5.6\\3310\\my.ini --ndb-nodeid=5 --console 


application application application application    
     \            |          \           |        Applications
      \           |             \       /
------------------------------------------------
    mysqld       mysqld            mysqld          
	\	   |                 |		    MySQL Server	
	  \	   |		     |                
-------------------------------------------------
		NDB CLUSTER
		(data nodes)
		ndbd  ndbd   ndbd             Stroage
			|
			|
-------------------------------------------------------
		ndb_mgmd            ->ndb_mgm
		Management Server	client   
		
节点				IP地址
管理(MGM)节点			192.168.0.10   (管理配置)
MySQL服务器(SQL)节点		192.168.0.20
数据(NDBD)节点"A"		192.168.0.30
数据(NDBD)节点"B"		192.168.0.40
 
================================
启动顺序:管理节点->数据节点->sql节点
关闭顺序:sql节点->数据节点->管理节点
关闭节点:ndb_mgm> 1 stop
	Node 1 has shutdown.
查看集群状态:ndb_mgm>show
NoOfReplicas=2:数据节点数量

表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改
ALTER TABLE `db0100` ENGINE=NDBCLUSTER;
测试:在一个sql中插入数据,其他sql立刻同步


总结:操作任意一个sql节点,ndb引擎会同步数据到其他sql节点
NDB是一种“内存中”存储引擎
NDB存储引擎选项配置:多种故障切换和负载平衡

相关标签: mysql