mongodb安装与简单使用
安装mongodb
最新版本已经到2.7了,那么我们选择产品版本安装。
我们这里下载了最新发布版本的2.6版本mongodb,增加了许多特性,这篇文章不是我们研究特性的。主要是分享安装步骤。
不讨论如何做分布式,单机安装于测试。
下载mongodb
- where are you download?
yes, 官方网站下载:www.mongodb.org。如果你下载2.6的产品版本,大小在170MB的样子,下载速度一般。
安装mongodb
安装方法很简单!so easy!
- 第一步:解压出压缩包中的文件到D:\mongodb\文件夹。
- 第二步:配置环境变量
在PATH中追加mongodb的bin路径,这样可以再任意目录执行mongodb提供的命令。
-
第三步:执行启动mongodb命令,命令为:
D:\mongodb\bin\mongod -dbpath=D:\mongodb\data
注意:为了方便,你可以讲命令保存为start.bat,以后双击即可启动mongodb。
```
#一些命令文件简单说明
mongod.exe //mongodb的服务器端,运行该执行文件可以设置mongodb的端口号,数据文件存储目录等
mongo.exe //mongodb的客户端,用来连接mongodb并进行相关数据的查询
```
使用命令行连接mongodb数据库
打开cmd,执行命令:
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>mongo
注意:前提是你配置了环境变量哦,如果没有,那么就必须使用cd命令进入到mongodb安装路径的bin目录中。
C:\Users\Administrator>mongo
MongoDB shell version: 2.2.7
connecting to: test
>
链接mongodb数据库成功了,很奇怪的是,并没有输入用户名和密码,等等来了解这个关于用户创建。
将mongodb安装为windows服务
作为服务器来说,mongodb运行在cmd中(小黑色窗口)是不行了,一旦服务器重启,只有手工启动。就算是在启动中添加批处理文件也是必须在用户登录的情况才可以触发启动。
因此,我们要将mongodb安装为windows服务并设置为自动启动,这样便于我们维护。
mongod --logpath D:\mongodb\log\MongoDB.log --logappend --dbpath D:\mongodb\data --directoryperdb --serviceName MongoDB --install
mongd部分参数说明
mongod 启动数据库进程
--dbpath 指定数据库的目录
--port 指定数据库的端口,默认是 27017
--bind_ip 绑定 IP
--directoryperdb 为每个 db 创建一个独立子目录
--logpath 指定日志存放目录
--logappend 指定日志生成方式(追加/覆盖)
--pidfilepath 指定进程文件路径,如果不指定,那么将不产生进程文件
--keyFile 集群模式的关键标识
--cpu 周期性的显示 CPU 和 IO 的利用率
--journal 启用日志
--ipv6 启用 IPV6 支持
--nssize 指定.ns 文件的大小,单位 MB,默认是 16M,最大是 2GB
--maxConns 最大的并发连接数 11
--notablescan 不允许进行表扫描
--quota 限制每个数据库的文件个数,默认是 8 个
--quotaFiles 每个数据库的文件个数,配合—quota 参数
--noprealloc 关闭数据文件的预分配功能
更多的参数选项利用 mongod –help 进行查看
基本的mongodb数据库操作
这里呢采用sql与mongo执行的命令相对比的。
注意:db代表当前使用的数据库,默认是test
sql: select * from t_user
mongodb: db.t_user.find()
sql: select count(*) from t_user
mongodb: db.t_user.find().count()
sql: select top 10 * from t_user where id < (select min(id) from (select top 10 id from t_user order by id desc)) order by id desc //分页取第11条到第20条的数据
mongodb: db.t_user.find().limit(10).skip(10).sort({})
sql: update t_user set username="lucky" where id=1
mongodb: db.t_user.update({id:1},{username:"lucky"})
sql: delete t_user where id=1
mongodb: db.t_user.delete({id:1})
那么你会产生疑问?关系型数据库中有存储过程和函数呀,mongodb有么?
可以负责任的告诉你,它有,为什呢,从2.4版本开始mongodb引入了google的v8 javaScript引擎。也就是说mongodb一直使用了javascript作为脚本命令的,函数当然是支持了。值得注意的是mongodb中提供了mapreduce这样强大的功能,这个就不细做讨论了,有兴趣可以查询相关资料!
mongodb添加用户
添加用户前,我们要明白的是,在mongodb中管理了很多的库,每个库中都可以添加对应的账号。
这个说起来时比较抽象的,那就用客户端截图给大家看看便于理解库(其实和mysql数据库大概也相同)。
问题来了,每个库都有用户,那么如何添加呢?
首先得使用某个库,默认情况下使用的数据库名称是test
使用use
命令决定使用某个数据库。
use admin
来看看添加用户命令:
db.addUser("admin","123")
这段代码意思就是给当前数据库添加用户admin,密码为123
实际上添加了用户还是可以无密码登录的!!
让有权限的账户登录
在启动mongodb的时候,添加一个参数 –auth。这个参数可以通过命令查看:
mongod -h
启动mongodb时候,需要账号密码
mongod --auth --dbpath=D:mongodbdata
安全停止mongodb
如果你在启动mongodb的情况下直接重启电脑,很容易就出奇的就启动不了mongodb的。
先使用admin数据库,然后在调用db.shutdownServer();函数
> use admin
switched to db admin
> db.shutdownServer();
如果你没有使用admin数据库调用db.shutdownServer();函数,将会返回:
> db.shutdownServer();
shutdown command only works with the admin database; try 'use admin'
我们可以得出结论:admin数据库是不能删除的,最好不要动它。