原文:https://blog.csdn.net/younglao/article/details/74858418
1 安装环境介绍
- MongoDB版本:mongodb 3.4.4 64位
- mongochef 64位
2 下载并安装MongDB
1 下载工具包
- mongdb
https://www.mongodb.com/download-center mongodb官网下载 - mongochef下载
mongochef是mongodb一款非常优秀的可视化工具,分为免费版和收费版,收费版到官网下载,免费版到百度网盘下载
2 安装并运行mongodb和mongochef
1 安装mongodb和mongochef
下载mongodb和mongochef 之后,开始安装工具包。安装过程比较简单,都是傻瓜式安装过程。
建议先安装mongodb然后再安装mongochef,这样方便后面的安装测试;
安装mongodb时要注意程序的安装路径,后面配置windows服务时还需要用到。
下面是我安装完毕之后的文件路径图:
mongodb:
mongochef:
我安装的mongodb路径为:D:\Program Files\MongoDB
2 运行mongodb和mongochef
1 运行mongodb
在运行之前,需要新建数据文件夹和日志文件夹。在安装路径下面创建两个文件,并且在日志文件夹下新建一个空的日志文件mongo.log,最后形成的文件目录如下图:
打开cmd进入到mongodb的安装路径的bin目录下,执行如下命令指定数据库。这里使用的是我的安装路径,根据个人安装路径不同而不同(dbpath前两个-):
D:\Program Files\MongoDB\Server\3.4\bin>mongod –dbpath "D:\Program Files\MongoDB\Server\3.4\data"
出现如下监听信息:
新开一个cmd窗口,原来开的窗口不要关闭。执行如下命令启动数据库服务:
D:\Program Files\MongoDB\Server\3.4\bin>mongo
然后出现下图所示信息等,表示mongodb安装成功:
输入exit可以退出当前连接
2 使用mongochef连接数据库
打开mongochef,显示如下界面:
点击connect按钮,弹出配置框,新建一个数据库连接信息,保存之后连接数据库,查看结果:
mongodb默认的端口号是27017
链接成功之后如图,显示出数据库中的初始数据库admin和local:
即表示数据库mongodb和可视化工具mongochef安装成功。
3 注册mongodb为windows服务
mongodb一开始的启动方式是,每次都需要进入到installPath\bin目录下启动服务,并且不能关闭窗口,这样的操作方式并不方便,可以把mongodb注册为windows服务,设置开机自动启动或者手动启动,这样就会方便很多。
在上面的步骤中创建的data和logs文件不要变,直接使用在下面的命令行中即可。
操作过程如下,执行如下命令即可:
D:\Program Files\MongoDB\Server\3.4\bin>mongod --dbpath " D:\Program Files\MongoDB\Server\3.4\data" --logpath " D:\Program Files\MongoDB\Server\3.4\logs\mongo.log" --install --serviceName "MongoDB"
执行成功之在后windows服务中会看到一个MongDB的服务,设置windows服务启动或者自动启动即可。
4 mongodb操作
1、查看当前已有用户
show users
或
db.system.users.find()
2、创建用户
创建admin数据库的用户
创建用户之前切换到对应的数据库:
show dbs (查看所有的库)
use test (库名称)
db.createUser(
{
user: "admin",
pwd: "admin123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
} )
创建accountAdmin01用户并授权两个数据库的操作权限
db.createUser({
user: "test",
pwd: "test",
roles: [ { role: "readWrite", db: "test" },"readAnyDatabase"],
authenticationRestrictions: [ {
clientSource: ["192.0.2.0"], //允许连接数据库的客户端IP
serverAddress: ["198.51.100.0"] //服务端IP
} ]
})
切换用户
db.auth('admin','admin123')
参数说明:
user :用户名
pwd:密码
roles:
role:用户角色
a. Read:允许用户读取指定数据库
b. readWrite:允许用户读写指定数据库
c. dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
d. userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
e. clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
f. readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
g. readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
h. userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
i. dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
j. root:只在admin数据库中可用。超级账号,超级权限
db:操作的数据库名