mongodb在windows下的安装步骤分享
mongodb在windows下的安装步骤分享
发布时间:2016-12-28 来源:查字典编辑
摘要:nosql很火,mongodb做为一款优秀的分布式文件存储的数据库,也得到了不小的关注,http://weibo.com/k/mongodb...

nosql很火,mongodb做为一款优秀的分布式文件存储的数据库,也得到了不小的关注,http://weibo.com/k/mongodb 新浪微博中每天现在约有20多条信息。

官网:http://www.mongodb.org/

下载:http://www.mongodb.org/downloads

PHP扩展:http://cn.php.net/mongo

我选择了windows的安装包,下载了Windows 32-bit的1.8.2版本,以下是安装记录:

解压到了D:wwwmongodb

cd d:www

binmongod.exe --dbpath=d:/www/mongodb/data

Sat Jul 09 09:03:28 [initandlisten] db version v1.8.2, pdfile version 4.5

复制代码 代码如下:

Sat Jul 09 09:03:28 [initandlisten] git version: 433bbaa14aaba6860da15bd4de8edf6

00f56501b

Sat Jul 09 09:03:28 [initandlisten] build sys info: windows (5, 1, 2600, 2, 'Ser

vice Pack 3') BOOST_LIB_VERSION=1_35

Sat Jul 09 09:03:28 [initandlisten] waiting for connections on port 27017

Sat Jul 09 09:03:28 [websvr] web admin interface listening on port 28017

这样mongodb就在运行了,但DOS操作还不能关闭,一关闭就停了。因此需要将其设为系统服务:

D:wwwmongodb>binmongod.exe --dbpath=d:/www/mongodb/data --logpath=d:/www/mongodb/mongodb.log --install

复制代码 代码如下:

all output going to: d:/www/mongodb/mongodb.log

Creating service MongoDB.

Service creation successful.

Service can be started from the command line via 'net start "MongoDB"'.

这样就可以在系统服务(services.msc)里就多了个MongoDB的服务,可以设置成 自动 来让windows每次启动时自动启动Mongo DB。

下面看其自带的客户端,仍然在其bin目录下,文件名为mongo.exe

binmongo.exe

复制代码 代码如下:

MongoDB shell version: 1.8.2

connecting to: test

在http://cn.php.net/mongo下载mongodb的php扩展,PHP 5.2 VC6 Thread-Safe Mongo extension。

5.2版只有5.2.13的mongodb.dll。本地php重装了5.2.13,可以用了。

主要代码:

复制代码 代码如下:

$m = new Mongo(); // 默认连接本机的27017端口

$mdb = $m -> hx; // 选择hx数据库,如果以前没有,则会自动创建,也可以用$m->selectDB("hx");

$collection = $mdb->hx_site; //选择hx里面的hx_site集合,相当于取hx库里的hx_site表,也可以使用$mdb->selectCollection("hx_site");

[html]

批量插入:

[code]

for($i=53;$i<84;$i++){

$start = $i * 10000;

$end = ($i+1) * 10000;

$sql = "SELECT * FROM hx_site WHERE id > $start AND id <= $end";

$tmp = $db->query($sql);

$arrs = array();

while ($arr = $db->fetch_array($tmp)) {

$arrs[] = $arr;

}

$collection->batchInsert($arrs);

}

用php将本地有83.6w条数据的mysql转成mongodb,每次插入1w条,一次需要109~125ms。

复制代码 代码如下:

/*

mysql语句对应的mongodb语法: http://www.jb51.net/article/28694.htm

取pagerank=5,按id倒序,取30条

类似于 SELECT * FROM hx_site WHERE pagerank = 5 ORDER BY id DESC LIMIT 30

*/

$cursor = $collection->find(array('pagerank'=>'5'))->sort(array('id'=>-1))->limit(30);

foreach ($cursor as $obj) { //遍历所有集合中的文档

echo $obj["id"].' '.$obj["domain"] . "<br>";

}

没索引的情况下取一条记录,656ms,mysql需要0.7s,基本上没区别。

count(*)某条件,800多ms,加索引后100多ms

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新MongoDB学习
热门MongoDB学习
编程开发子分类