论坛首页 Java企业应用论坛

深入浅出MongoDB(二):MongoDB的安装与使用

浏览 4247 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-08-24   最后修改:2012-08-24

下载MongoDB安装包

下载地址:http://www.mongodb.org/downloads,现在最新版是2.0.7,由于我现在打算把它装在ubuntu服务器(在虚拟机上装),所以我下载了mongodb-linux-i686-2.0.7.tgz

如果有网络的话,可以用wget命令直接下载:

wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.7.tgz

上传与解压

如果你在window平台下载,你首先要上传到linux平台,我直接用WinSCP上传到了/usr/local目录下。

huangyineng@ubuntu:/usr/local$ sudo tar zxvf mongodb-linux-i686-2.0.7.tgz

由于解压后的目录名(mongodb-linux-i686-2.0.7)太长了,我们给改为mongodb

huangyineng@ubuntu:/usr/local$ sudo mv mongodb-linux-i686-2.0.7 mongodb

进去mongodbbin目录,可以看到有12个文件

huangyineng@ubuntu:/usr/local/mongodb/bin$ ls

bsondump  mongod     mongoexport  mongoimport   mongos      mongostat

mongo     mongodump  mongofiles   mongorestore  mongosniff  mongotop

注:MongoDB没有具体的安装过程,解压文件包后就可以直接使用,非常高效和方便

创建数据库和日志存放目录

创建数据库文件夹(默认数据库文件的位置是/data/db,启动时会自动创建)

huangyineng@ubuntu:/usr/local/mongodb$ sudo mkdir data

huangyineng@ubuntu:/usr/local/mongodb$ sudo touch dblogs

huangyineng@ubuntu:/usr/local/mongodb$ ls

bin  data  dblogs

启动MongoDB

运行mongodb命令启动

huangyineng@ubuntu:/usr/local/mongodb$ sudo /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork

forked process: 1156

all output going to: /usr/local/mongodb/dblogs

--dbpath执行数据库存放路径(默认是/data/db

--fork是以Daemon(进程、后台)方式运行

注意:如果指定--fork参数,必须指定--logpath日志文件路径,如果不加--fork,则需要再开启一个窗口进行操作

启动命令常用参数选项说明

--dbpath                     指定数据库的目录

--port                           指定数据库的端口,默认是

--bind_ip                     绑定IP

--directoryperdb       为每个db创建一个独立子目录

--logpath                    指定日志存放目录

--logappend               指定日志生成方式(追加/覆盖)

--pidfilepath               指定进程文件路径,如果不指定,将不产生进程文件

--keyFile                      集群模式的关键标识

--journal                      启用日志

--nssize                       指定.ns文件的大小,单位MB,默认是16M,最大是2GB

--maxConns               最大的并发连接数

--notablescan            不允许进行表扫描

--noprealloc               关闭数据文件的预分配功能

--fork                           以后台Daemon形式运用服务

更多的参数选项请查看:huangyineng@ubuntu:/usr/local/mongodb/bin$ ./mongod --help

查看MongoDB进程

huangyineng@ubuntu:/usr/local/mongodb$ pstree -p | grep mongod

        |-mongod(1156)-+-{mongod}(1157)

        |              |-{mongod}(1158)

        |              |-{mongod}(1159)

        |              |-{mongod}(1160)

        |              |-{mongod}(1161)

        |              |-{mongod}(1162)

        |              `-{mongod}(1163)

huangyineng@ubuntu:/usr/local/mongodb$ ps -ef | grep mongod

root      1156     1  0 08:37 ?        00:00:04 /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork

1000      1182   787  0 08:46 pts/0    00:00:00 grep --color=auto mongod

关闭MongoDB进程

pkill

huangyineng@ubuntu:/usr/local/mongodb/bin$ sudo pkill mongod

killall

huangyineng@ubuntu:/usr/local/mongodb/bin$ sudo killall mongod

注:不能用kill -9,用了kill -9会出现启动不了

huangyineng@ubuntu:/usr/local/mongodb/bin$ ps -ef | grep mongod

root      1238     1  0 08:58 ?        00:00:00 /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork

1000      1249   787  0 09:00 pts/0    00:00:00 grep --color=auto mongod

huangyineng@ubuntu:/usr/local/mongodb/bin$ sudo kill -9 1238

huangyineng@ubuntu:/usr/local/mongodb/bin$ ps -ef | grep mongod

1000      1253   787  0 09:00 pts/0    00:00:00 grep --color=auto mongod

huangyineng@ubuntu:/usr/local/mongodb/bin$ sudo /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork

forked process: 1258

all output going to: /usr/local/mongodb/dblogs

huangyineng@ubuntu:/usr/local/mongodb/bin$ ps -ef | grep mongod

1000      1263   787  0 09:00 pts/0    00:00:00 grep --color=auto mongod

看到没有,虽然启动不出错,但就是没法启动进程,解决方法是把data目录下的mongod.lock删除再启动

huangyineng@ubuntu:/usr/local/mongodb/data$ sudo rm mongod.lock

huangyineng@ubuntu:/usr/local/mongodb/bin$ sudo /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork

forked process: 1281

all output going to: /usr/local/mongodb/dblogs

huangyineng@ubuntu:/usr/local/mongodb/bin$ ps -ef | grep mongod

root      1281     1  1 09:04 ?        00:00:00 /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork

1000      1290   787  0 09:04 pts/0    00:00:00 grep --color=auto mongod

设置开机自启动

mongodb启动项目加入/etc/rc.local

./usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork

我重启后直接连接客户端出错

huangyineng@ubuntu:/usr/local/mongodb/bin$ ./mongo

MongoDB shell version: 2.0.7

connecting to: test

Mon Aug 20 07:49:30 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84

exception: connect failed

待解决

使用客户端操作

使用mongo命令

huangyineng@ubuntu:/usr/local/mongodb/bin$ ./mongo

MongoDB shell version: 2.0.7

connecting to: test

看到这个画面,已经进入MongoDB的客户端了,默认是进入test库。

退出客户端操作用ctrl+cexit回车

本文链接:http://www.656463.com/portal.php?mod=view&aid=76,转载请注明出处

下一节:MongoDB的体系结构

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics