【原创】Windows下构建Mysql Cluster集群数据库
1.1.1 集群版部署
先准备好软件,Mysql集群软件下载地址:http://dev.mysql.com/downloads/cluster,选择mysql-cluster-gpl-noinstall-7.1.17-win32.zip(Windows (x86, 32-bit), ZIP Archive)
1.1.2 集群规划
节点ID(NodeID) |
IP地址 |
MySQL server (SQL) node |
192.168.0.1(查询节点服务器A) |
Management (MGMD) node |
192.168.0.2(集群管理服务器) |
MySQL server (SQL) node |
192.168.0.3(查询节点服务器B) |
Data (NDBD) node A |
192.168.0.4(数据库服务器A) |
Data (NDBD) node B |
192.168.0.5(数据库服务器B) |
1.1.3 管理节点安装
解压下载的mysql-cluster-gpl-noinstall-7.1.17-win32.zip包里的程序文件,到c:\mysql\mysql-cluster文件夹下,完成后目录结构如下图:
在c:\mysql\mysql-cluster\bin目录下新建两个文件my.ini和config.ini:
My.ini内容如下:
[mysql_cluster] # Options for management node process config-file=C:/mysql-cluster/bin/config.ini |
Config.ini文件内容如下:
###### 数据节点默认配置 ###### [NDBD DEFAULT] NoOfReplicas=2 DataMemory=512M IndexMemory=128M DataDir=e:/app/ndb/data BackupDataDir=e:/app/ndb/data/backup LockPagesInMainMemory=1 TimeBetweenLocalCheckpoints=20 TimeBetweenGlobalCheckpoints=1000 TimeBetweenEpochs=100 TimeBetweenWatchdogCheckInitial=60000 StringMemory=20 MaxNoOfTables=1024 MaxNoOfOrderedIndexes=2048 MaxNoOfUniqueHashIndexes=512 MaxNoOfAttributes=20480 MaxNoOfTriggers=10240 DiskCheckpointSpeedInRestart=100M FragmentLogFileSize=64M NoOfFragmentLogFiles=16 RedoBuffer=32M MaxNoOfConcurrentOperations=500000 TransactionInactiveTimeout=50000 MaxNoOfExecutionThreads=8 BatchSizePerLocalScan=512 ### 磁盘存储 SharedGlobalMemory=20M DiskPageBufferMemory=80M ###### COMPUTER DEFINITIONS ###### ### Datanode Computer #1 [COMPUTER] Id=1 HostName=192.168.0.4 ### Datanode Computer #2 [COMPUTER] Id=2 HostName=192.168.0.5 # Management Node Computer #1 [COMPUTER] Id=3 HostName=192.168.0.2 [COMPUTER] Id=4 HostName=192.168.0.3 #### Data Nodes # Node group #1 [NDBD] Id=1 ExecuteOnComputer=1 [NDBD] Id=2 ExecuteOnComputer=2 # Node group #2 [NDBD] Id=3 ExecuteOnComputer=1 [NDBD] Id=4 ExecuteOnComputer=2 ### Management node [NDB_MGMD] Id=21 ExecuteOnComputer=3 # Anonymous API nodes [MYSQLD] Id=51 Hostname=192.168.0.3 [MYSQLD] Id=52 Hostname=192.168.0.1 [MYSQLD] Id=53 Hostname=192.168.0.4 [MYSQLD] Id=54 Hostname=192.168.0.5 [MYSQLD] [MYSQLD] [MYSQLD] [MYSQLD] [MYSQLD] |
1.1.4 数据节点安装
解压下载的mysql-cluster-gpl-noinstall-7.1.17-win32.zip包里的程序文件,到c:\mysql\mysql-cluster文件夹下,在这个目录下新建my.ini文件,内容如下
####################################################################### [mysql_cluster] # Options for data node process: ndb-connectstring=192.168.0.2 # location of management server ####################################################################### |
1.1.5 查询节点安装
解压下载的mysql-cluster-gpl-noinstall-7.1.17-win32.zip包里的程序文件,到c:\mysql\mysql-cluster文件夹下,根据查询压力及服务器的配置,选择合适的my.ini文件,各建议配置文件的详细解释如下:
类型 |
摘要 |
应用场景 |
small |
运行mysql服务的最小配置示例 (<= 64M) |
这个配置可以在 配置很低(<= 64M内存)的服务器上运行mysql数据库,仅占用很少的系统资源 |
medium |
中等mysql服务器建议配置示例 (32M - 64M) |
这个配置可以在 配置中等(64M-128M内存) 的服务器上运行mysql数据库,并运行web服务 |
large |
大型mysql服务器建议配置示例 (512M内存) |
这个配置可以在 配置较高(512M内存) 的服务器上运行mysql数据库 |
huge |
特大型mysql服务器建议配置示例(1G-2G内存) |
这个配置可以在 配置高 (1-2G内存) 的服务器上运行mysql数据库 |
heavy |
以InnoDB为数据存储模式,4GB以上内存服务器建议配置示例 |
这个配置可以在 配置特高 (>=4G内存) 的服务器上运行mysql数据库,但仅仅只支持InnoDB类型的存储引擎,可以支持少量连接产生的复杂查询 |
建议使用my-large.ini,另存为my.ini,并在该文件的[mysqld]章节内,添加如下信息
####################################################################### # 在[mysqld]章节中添加: skip-name-resolve # Options for mysqld process: ndbcluster # run NDB storage engine ndb-connectstring=[NDB_MGMD]的IP地址 # location of management server ndb-connectstring=192.168.0.2 # location of management server ####################################################################### |