WINDOWS2008R2系统MongoDB环境搭建手册
来源:互联网 发布:tgp深度优化原理 编辑:程序博客网 时间:2024/05/16 02:43
自己根据网上前辈们的资料根据自身实践,整理出了MongoDB在windows2008R2服务器上安装的方法,希望给广大朋友提供一点帮助。
1.MongoDB安装和试运行
2.1 MongoDB安装
- 解压mongodb-win32-x86_64-2008plus-2.2.3(该版本适用windows2008)至C:\mongodb2.2.3(你可以按照自己的路径来,路径中最好不要有空格,要不然麻烦)。
- 新建文件夹C:\DATA\DB。
- 进入CMD,运行命令
- C:\mongodb2.2.3\bin\mongod.exe -dbpath C:\DATA\DB, MongoDB已经安装成功并已经在运行中了,你将会看到如下:
此时是mongoDB的运行状态,你可以按Ctrl+C结束运行状态或者直接关掉CMD结束运行。
2.2 MongoDB试运行
保持mongod命令窗口的运行状态,再新开一命令窗口
输入C:\mongodb2.2.3\bin\mongo,出现
>show dbs
OK,连接成功。
1. show dbs 显示数据库列表
2. use Northwind 进入Northwind数据库,大小写敏感
3. show collections 显示数据库中的集合
4. db 用于查看当前所在的数据库
5. db.Customer.count() 查看集合Customer的记录总数
6. db.Customer.findOne({"_id":"1"}) 查看CustomerId=1的记录
新增数据
1. use MyTest,这个数据库不存在,无所谓,mongo会创建,
MongoDB在使用前,并不要求您事先创建好相应的数据库,设计数据表结构!
在MongoDB中,没有【表】的概念,取而代之的是【集合】,也没有【数据记录】的概念,取而代之的是【文档】,我们可以把【文档】理解成一个【对象】,任意的对象,甚至可以有复杂的嵌套层次。
因此,我们不用再写代码从【数据表字段】到C#类的【属性,字段】的转换了,现在直接就可以读写整个对象了。
而且MongoDB不支持Join操作,所以,如果有【关联】操作,就需要你自己来处理
2. item={"Key":"1","text":"wokao","number":3}
3. db.table1.insert(item),mongo将建立集合table1,并将item插入,完成了新增加数据库的工作
4. db.table1.find()显示table1中的数据,MongoDB的文档使用的是一种称为BSON格式的对象,与Javascript中的JSON类似
5. 额外的,输入item1={"Id":5,"str":"asdfasdf"},再插入db.table1.insert(item1),再用find()命令看,也插入成功了~,注意到结构和item不一样!但不建议这样做。
注意到:【每个文档有一个名为 "_id" 的成员】,我可没有定义啊。
其实,MongoDB会为每个文档都创建这样一个文档成员,我们指定的 "key", "id" 对于MongoDB来说:它们并不是【文档的主键】,MongoDB只认 "_id",你可以指定,但如果不指定,MongoDB就自动添加。
修改数据
1. var t=db.table1.findOne({"Id":5}),获取一条记录
2. t.str="wokao"
3. db.table1.update({"Id":5},t)
删除数据
db.table1.remove({"Id":5})
查找数据
上面已经有find和findOne命令,即用于查询
db.table1.find()
MongoDB的查询条件中,并没有 >, <, >= , <= 这些运算符,而是使用 "$lt", "$lte", "$gt", "$gte"
新建表
db.MyTest.table2.save({})
删除表
db.table1.drop()或db.runCommand({"drop","table1"})
删除数据库
db.runCommand({"dropDatabase": 1}),此命令只能删除当前数据库
获取服务端状态信息
db.runCommand({"serverStatus" : 1})
2. MongoDB服务器安装
3.1 副本集+仲裁服务器
2.1.1.启用三台服务器:
192.168.57.115:
新建目录,C:\data\replset\r0
新建文件,C:\data\replset\log\r0.log
192.168.57.125:
新建目录,C:\data\replset\r1
新建文件,C:\data\replset\log\r1.log
192.168.57.126:
新建目录,C:\data\replset\r2
新建文件,C:\data\replset\log\r2.log
2.1.2.启动MongoDB服务
192.168.57.115:
mongod.exe --dbpath=/data/replset/r0 --replSet replset1 --port 28010 --logpath=/data/replset/log/r0.log --logappend --directoryperdb
192.168.57.125:
mongod.exe --dbpath=/data/replset/r1 --replSet replset1 --port 28011 --logpath=/data/replset/log/r1.log --logappend --directoryperdb
192.168.57.126:
mongod.exe --dbpath=/data/replset/r2 --replSet replset1 --port 28012 --logpath=/data/replset/log/r2.log --logappend --directoryperdb
2.1.3.初始化副本集
192.168.57.115:
CMD命令行运行: C:\mongodb2.2.3\binmongo --port 28010
配置命令赋值:
config_replset1 = {
_id:"replset1",
members:
[
{_id:0,host:"192.168.57.115:28010",priority:4},
{_id:1,host:"192.168.57.125:28011",priority:2},
{_id:2,host:"192.168.57.126:28012",arbiterOnly : true}
]
}
配置初始化:rs.initiate(config_replset1);
完成后可以通过:rs.status()命令来查看配置状态。这样全部搭建成功。如下图状态显示:
2.1.4.外部访问接口
外部访问接口为:"192.168.57.115:28010","192.168.57.125:28011"
2.1.5.一般访问查询命令
#设置从库可读(从库上执行)
>rs.slaveOk();
查看副本集状态
>rs.status()
>user local;
>rs.isMaster()
>db.system.replset.find()
查看当前主库:
>;db.$cmd.findOne({ismaster:1});
3.2 Replica Set+Sharding(集群+分片)
3.2.1. 集群设置
* 使用Replica Sets,确保每个数据节点都具有备份、自动容错转移、自动恢复能力。
* 使用3个配置服务器,确保元数据完整性
* 使用3个路由进程,实现负载平衡,提高客户端接入性能
统一对外接口:三个路由进程都是单独的对外接口,每个接口都可以通过三个配置服务控制副本集shard1和shard2。
3.2.2. 集群设置图
3.2.3. 启用三台服务器:
192.168.57.115:
新建目录,C:\data\shard1_1;C:\data\shard2_1;C:\data\config
新建文件,C:\data\shard1_1\shard1_1.log;C:\data\shard2_1\shard2_1.log
192.168.57.125:
新建目录,C:\data\shard1_2;C:\data\shard2_2;C:\data\config
新建文件,C:\data\shard1_2\shard1_2.log;C:\data\shard2_2\shard2_2.log
192.168.57.126:
新建目录,C:\data\shard1_3;C:\data\shard2_3;C:\data\config
新建文件,C:\data\shard1_3\shard1_3.log;C:\data\shard2_3\shard2_3.log
3.2.4. 启动MongoDB服务
192.168.57.115:
1. 配置shard1所用到的Replica Sets
mongod.exe -shardsvr -replSet shard1 -port 27017 -dbpath C:\data\shard1_1 -logpath C:\data\shard1_1\shard1_1.log –logappend
2. 配置shard2所用到的Replica Sets
mongod.exe -shardsvr -replSet shard2 -port 27018 -dbpath C:\data\shard2_1 -logpath C:\data\shard2_1\shard2_1.log -logappend
192.168.57.125:
1. 配置shard1所用到的Replica Sets
mongod.exe -shardsvr -replSet shard1 -port 27017 -dbpath C:\data\shard1_2 -logpath C:\data\shard1_2\shard1_2.log –logappend
2. 配置shard2所用到的Replica Sets
mongod.exe -shardsvr -replSet shard2 -port 27018 -dbpath C:\data\shard2_2 -logpath C:\data\shard2_2\shard2_2.log -logappend
192.168.57.126:
1. 配置shard1所用到的Replica Sets
mongod.exe -shardsvr -replSet shard1 -port 27017 -dbpath C:\data\shard1_3 -logpath C:\data\shard1_3\shard1_3.log –logappend
2. 配置shard2所用到的Replica Sets
mongod.exe -shardsvr -replSet shard2 -port 27018 -dbpath C:\data\shard2_3 -logpath C:\data\shard2_3\shard2_3.log -logappend
3.2.5. 配置初始化
3.2.5.1 shard配置初始化
1. 初始化shard1在
下执行
mongo --port 27017
config={_id:'shard1',members:[{_id:0,host:'192.168.57.115:27017'},{_id:1,host:'192.168.57.125:27017'},{_id:2,host:'192.168.57.126:27017'}]}
rs.initiate(config)
2. 初始化shard2在
下执行
mongo.exe -port 27018
config={_id:'shard2',members:[{_id:0,host:'192.168.57.115:27018'},{_id: 1,host:'192.168.57.125:27018'},{_id:2,host:'192.168.57.126:27018'}]}
rs.initiate(config)
3.2.6. 启用配置服务
在192.168.57.115、192.168.57.125、192.168.57.126上分别执行命令:
在下执行
mongod.exe -configsvr -dbpath C:\data\config -port 20000 -logpath C:\data\config\config.log –logappend
配置服务启动成功。
3.2.7 启用路由服务器
在192.168.57.115、192.168.57.125、192.168.57.126上分别执行命令:
在下执行
mongos.exe -configdb 192.168.57.115:20000,192.168.57.125:20000,192.168.57.126:20000 --port 30000 --chunkSize 1 -logpath C:\data\mongos.log –logappend
路由服务配置成功。
3.2.8 配置shard cluster
连接其中一台机器的端口30000的mongos进程,并切换到admin数据库做以下配置:
./mongo --port 30000
>use admin
>db.runCommand({addshard:"shard1/192.168.57.115:27017,192.168.57.125:27017,192.168.57.126:27017"});
>db.runCommand({addshard:"shard2/192.168.57.115:27018,192.168.57.125:27018,192.168.57.126:27018"});
>db.runCommand({enablesharding:"test"})
>db.runCommand({shardcollection:"test.users",key:{_id: 1}})
至此,集群和分片安装完毕。可以通过rs.status()查看当前服务器的状态。
3.2.9 外部访问集群数据库接口
任何一台实现了第二章节的mongodb的安装,都可以通过目录下执行mongos 192.168.57.115.2000来访问集群数据库。或者mongos 192.168.57.125.2000来访问集群数据库。或者mongos 192.168.57.126.2000来访问集群数据库。
- WINDOWS2008R2系统MongoDB环境搭建手册
- Linux系统ELK环境搭建手册
- linux系统下搭建mongodb环境
- win7+64位系统中搭建mongodb数据库运行环境
- mongodb环境搭建
- Mongodb 环境搭建
- mongodb的环境搭建
- Node+Mongodb环境搭建
- MongoDb环境搭建
- mongodb环境搭建
- MongoDB安装环境搭建
- mongoDB CentOS7环境搭建
- MongoDB 环境搭建
- MongoDB环境搭建
- MongoDb(一)--环境搭建
- PDA开发环境搭建手册
- ubuntu 开发环境搭建手册
- A33环境搭建编译手册
- 封装一个类搞定90%安卓客户端与服务器端交互
- VisionMobile:2013年移动开发者经济报告(十):第二章 开发工具图景(下)
- ORA-01219:database not open:queries allowed on fixed tables/views only
- zookeeper的介绍和部署
- 代码自动生成工具MyGeneration之二
- WINDOWS2008R2系统MongoDB环境搭建手册
- Hadoop基于Shell命令与底层Unix操作系统的交互
- ORA-01849: hour must be between 1 and 12
- 解决ORA-27154,ORA-27300,ORA-27301:No space left on device
- 指针数组和数组指针
- 第二次C程序设计上机报告
- iOS 二维码demo,条形码demo
- 在ubuntu中使用蓝牙
- 代码自动生成工具MyGeneration之三