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

下载 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

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

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

bsondump  mongod     mongoexport  mongoimport   mongos      mongostat

mongo     mongodump  mongofiles   mongorestore  mongosniff  mongotop

扫描二维码关注公众号,回复: 1186340 查看本文章

注: 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+c exit 回车

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

下一节: MongoDB 的体系结构

猜你喜欢

转载自itway.iteye.com/blog/1661514