深入浅出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

进去 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 的体系结构

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. MongoDB安装与配置 步骤如下: 1. 下载MongoDB: 在MongoDB官网 https://www.mongodb.com/ 中下载相应的版本。 2. 安装MongoDB: 运行下载后的安装程序,按照提示进行安装。 3. 配置MongoDB: 打开MongoDB安装目录下的bin文件夹,找到mongod.exe文件,将其添加到系统环境变量中,然后在命令行中输入mongod,启动MongoDB。 4. 测试MongoDB: 在命令行中输入mongo,连接MongoDB数据库。 2. MongoDB数据操作 MongoDB的数据操作主要包括增删改查四个方面,具体操作如下: 1. 插入数据:使用insert()方法插入数据,语法如下: db.collection.insert(document) 其中,db.collection是集合名称,document是要插入的数据。 2. 删除数据:使用remove()方法删除数据,语法如下: db.collection.remove(query) 其中,db.collection是集合名称,query是删除条件。 3. 更新数据:使用update()方法更新数据,语法如下: db.collection.update(query,update,options) 其中,db.collection是集合名称,query是更新条件,update是更新内容,options是更新选项。 4. 查询数据:使用find()方法查询数据,语法如下: db.collection.find(query) 其中,db.collection是集合名称,query是查询条件。 3. Java使用MongoDB Java中使用MongoDB需要引入MongoDB驱动程序,然后通过Java代码操作MongoDB数据库。 步骤如下: 1. 引入MongoDB驱动程序:在Java项目中引入MongoDB驱动程序,可以通过Maven或手动下载并添加到项目中。 2. 连接MongoDB使用MongoClient类连接MongoDB数据库,语法如下: MongoClient mongoClient = new MongoClient("localhost", 27017); 其中,localhost是MongoDB数据库所在的主机名,27017是MongoDB数据库所使用的端口号。 3. 获取MongoDB数据库:使用getDatabase()方法获取MongoDB数据库,语法如下: MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); 其中,test是MongoDB数据库的名称。 4. 获取MongoDB集合:使用getCollection()方法获取MongoDB集合,语法如下: MongoCollection<Document> collection = mongoDatabase.getCollection("users"); 其中,users是MongoDB集合的名称。 5. 插入数据:使用insertOne()方法插入数据,语法如下: Document document = new Document("name", "Tom").append("age", 18); collection.insertOne(document); 其中,name和age是数据的字段名,"Tom"和18是数据的值。 6. 删除数据:使用deleteOne()方法删除数据,语法如下: collection.deleteOne(Filters.eq("name", "Tom")); 其中,name是数据的字段名,"Tom"是数据的值。 7. 更新数据:使用updateOne()方法更新数据,语法如下: collection.updateOne(Filters.eq("name", "Tom"), new Document("$set", new Document("age", 20))); 其中,name是数据的字段名,"Tom"是数据的值,$set是更新操作符,age是更新后的值。 8. 查询数据:使用find()方法查询数据,语法如下: MongoCursor<Document> cursor = collection.find().iterator(); while (cursor.hasNext()) { Document document = cursor.next(); System.out.println(document); } 其中,find()方法可以不带参数,表示查询所有数据。查询结果会返回一个游标,可以通过循环遍历游标获取查询结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值