当前位置: > 数据库 > MongoDB >

MongoDB初步——安装与运行

时间:2015-01-19 22:19来源:linux.it.net.cn 作者:IT

MongoDB是目前非常流行的非关系数据库(NoSQL)其中之一,由于良好的跨平台性和分布性,以及特有的一些可以与传统关系数据库(SQL)良好衔接的特点和功能,被广泛支持和采用,目前著名的WordPress就早已支持MongoDB。MongoDB采用BSON的形式存储数据,在超大规模数据量的情况下,比MySQL快得不知道多少了,非常适合社交网站之类的Web应用。虽然其具有良好的平台无关性,不过建立在*nix基础上还是最佳的选择。

本文采用的操作系统:CentOS 6.5 x86-64,MongoDB版本:mongodb-linux-x86_64-2.4.9

 

1.首先,下载解压MongoDB

MongoDB没有正式的安装包,全部采用压缩包的形式,为了实用,也没有必要使用源码包,Win/*nix皆如此,MongoDB下载网址:http://www.mongodb.org/downloads,根据系统需要,选择对应版本。

Win下MongoDB使用zip包,*nix下采用tgz包,约100MB,程序包里只有一个bin文件夹,里面是一些可执行程序

(Win版本)(*nix版本)

反正解压就是了,我将MongoDB放在了/usr/local/mongodb中,也可以根据需要自行设定存放路径。

 

2.设置MongoDB的数据文件存放路径,并启动MongoDB

我将数据文件和日志文件的位置设在了/data中

[root@localhost data]# ls
db  log
[root@localhost data]# cd db
[root@localhost db]# ls
journal  local.0  local.ns  mongod.lock
[root@localhost db]# cd /data/log
[root@localhost log]# ls
log.log

文件如上面的shell命令所示。

如何设置呢?

需要进入/usr/local/mongodb/bin中

执行如下命令

./mongod --dbpath=/data/db/ --logpath=/data/log/mongodb.log --logappend&

mongod即为MongoDB的主进程,类似MySQL,mongod进程默认监听27017端口,即MongoDB的TCP端口。

执行启动命令完成后,可以查看进程是否工作正常,执行:netstat -lanp | grep "27017" 

[root@localhost bin]# netstat -lanp | grep "27017"
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LIST        EN      1336/mongod
unix  2      [ ACC ]     STREAM     LISTENING     13444  1336/mongod         /tm        p/mongodb-27017.sock

这样就证明MongoDB的进程已经成功启动。

 

3.设置开机自启动

可以利用init.d,不过比较麻烦,用服务来做,编辑/etc/rc.local文件,在最下面加上一行命令,类似于刚才启动MongoDB主进程的

/usr/local/mongodb/bin/mongod -dbpath=/data/db --fork --port 27017 --logpath=/data/log/log.log --logappend --auth

然后保存退出,重启计算机MongoDB应该就已经能够自动运行了。

 

4.使用MongoDB的shell

在/usr/local/mongodb/bin下,有个名为mongo的可执行文件,即为MongoDB的shell客户端,./mongo可以看到:

[root@localhost bin]# ./mongo
MongoDB shell version: 2.4.9
connecting to: test
>

证明已连接到MongoDB,并使用test数据库。如果觉得每次进入这个目录比较麻烦,可以将mongo拷贝到/usr/bin,这样就可以随意执行mongo来连接数据库了。

 

转载请注明出处:http://blog.csdn.net/yuanguozhengjust/article/details/19181931

(责任编辑:IT)
------分隔线----------------------------