`
conkeyn
  • 浏览: 1501266 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

在window 单机环境下将mysql cluster创建为自启动服务

 
阅读更多

 

假设我的mysql cluster根目录是:D:\devlop_apps\mysql-cluster-gpl-7.3.2-winx64

1、在根目录下创建my.ini文件,nbd_mgmd在启动时默认会搜索根目录下的my.ini文件,文件内容如下:

[mysqld]
# innodb_buffer_pool_size = 128M
log_bin
basedir =D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64
datadir =D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/data
port =3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

 2、在根目录下分别创建ndb_data/49/、ndb_data/1/、ndb_data/2/目录和ndb_data/49/config.ini文件。

#
# Configuration file for MyCluster
#

[NDB_MGMD DEFAULT]
Portnumber=1186

[NDB_MGMD]
NodeId=49
HostName=127.0.0.1
DataDir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/49/
Portnumber=1186

[TCP DEFAULT]
SendBufferMemory=4M
ReceiveBufferMemory=4M

[NDBD DEFAULT]
BackupMaxWriteSize=1M
BackupDataBufferSize=16M
BackupLogBufferSize=4M
BackupMemory=20M
BackupReportFrequency=10
MemReportFrequency=30
LogLevelStartup=15
LogLevelShutdown=15
LogLevelCheckpoint=8
LogLevelNodeRestart=15
DataMemory=1M
IndexMemory=1M
MaxNoOfTables=4096
MaxNoOfTriggers=3500
NoOfReplicas=2
StringMemory=25
DiskPageBufferMemory=64M
SharedGlobalMemory=20M
LongMessageBuffer=32M
MaxNoOfConcurrentTransactions=16384
BatchSizePerLocalScan=512
FragmentLogFileSize=64M
NoOfFragmentLogFiles=16
RedoBuffer=32M
MaxNoOfExecutionThreads=2
StopOnError=false
LockPagesInMainMemory=1
TimeBetweenEpochsTimeout=32000
TimeBetweenWatchdogCheckInitial=60000
TransactionInactiveTimeout=60000
HeartbeatIntervalDbDb=15000
HeartbeatIntervalDbApi=15000

[NDBD]
NodeId=1
HostName=127.0.0.1
DataDir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/1/

[NDBD]
NodeId=2
HostName=127.0.0.1
DataDir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/2/

[MYSQLD DEFAULT]

[MYSQLD]
NodeId=53
HostName=127.0.0.1

[API]
NodeId=50
HostName=127.0.0.1

 

4、启动ndb_mgmd.exe

D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/ndb_mgmd.exe --ndb-nodeid=49 --config-dir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/49/ --config-file=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/49/config.ini 

 5、启动两个ndbd.exe

      --initial参数是当此数据节点第一次启动时使用,在以后启动时,此参数不需要(如果使用,会清空此节点的数据,慎之)。

D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/ndbd.exe  --ndb-nodeid=1 --ndb-connectstring=127.0.0.1:1186
D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/ndbmtd.exe  --ndb-nodeid=2 --ndb-connectstring=127.0.0.1:1186

 6、启动mysqld.exe

D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/mysqld.exe --no-defaults --datadir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/data/ --tmpdir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/53/tmp --basedir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ --socket=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/53/mysql.socket --port=3306 --ndbcluster --ndb-nodeid=53  --ndb-connectstring=127.0.0.1:1186
二、创建数据库表、测试
与没有使用 Cluster的MySQL相比,在MySQL Cluster内操作数据的方式没有太大的区别。执行这类操作时应记住两点:
  • 表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB Cluster存储引擎在 Cluster内复制它们。如果使用mysqldump的输出从已有数据库导入表,可在文本编辑器中打开SQL脚本,并将该选项添加到任何表创建语句,或用这类选项之一替换任何已有的ENGINE(或TYPE)选项。
  • 另外还请记住,每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。

 

create database if not exists clusterdb ;
use clusterdb;
create table if not exists cluster_test
(id INT) ENGINE=NDB;

insert into cluster_test(id) values(1),(2),(3),(4);

use clusterdb;
create table if not exists city(
id MEDIUMINT UNSIGNED not null auto_increment PRIMARY KEY,
name VARCHAR(20) not null default ''
)engine=ndbcluster default charset utf8;

insert into city values(1,'city1');
insert into city values(2,'city2');
 

 

 

 关闭Mysql Cluster相关进程:

1、运行以下命令关闭SQL节点的mysqld服务:

 

D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/mysqladmin.exe -uroot shutdown
 2、要想关闭 Cluster,可在MGM节点所在的机器上,在Shell中简单地输入下述命令:

 

 

D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/binndb_mgm.exe -e shutdown
 

 

将MySQL Cluster安装为 window 服务:

说白了,就是在启动每个命令时增加 --install=xx参数

 

D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/ndb_mgmd.exe --install=ndb_mgmd  --ndb-nodeid=49 --config-dir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/49/ --config-file=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/49/config.ini 
 
D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/ndbd.exe --install=ndb_node_1  --ndb-nodeid=1 --ndb-connectstring=127.0.0.1:1186
 
D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/ndbdmtd.exe --install=ndb_node_2 --ndb-nodeid=2 --ndb-connectstring=127.0.0.1:1186

D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/bin/mysqld.exe  --install=ndb_mysqld  --no-defaults --datadir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/data/ --tmpdir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/53/tmp --basedir=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ --socket=D:/devlop_apps/mysql-cluster-gpl-7.3.2-winx64/ndb_data/53/mysql.socket --port=3306 --ndbcluster --ndb-nodeid=53  --ndb-connectstring=127.0.0.1:1186 
  mysqld.exe安装成服务可以成功,但是启动动时却没有成功。还需要找找原因。

 

分享到:
评论
2 楼 qq35445762 2015-01-19  
测试过,楼主的此操作很多问题.sql节点没有配置.sql节点要单独配置到某个路径里,要不然不会成功
1 楼 qq35445762 2015-01-15  
错误找到了吗,亲

相关推荐

Global site tag (gtag.js) - Google Analytics