深入浅出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 |
注: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的体系结构