Windows下图文详解Mongodb安装及配置

1. 单机部署

操作系统:win7

1、下载

打开 MongoDB 下载页面,选择对应的 Version、OS、Package ,获得下载地址。这里,我们选择如下:

  • Version :4.2.1(current release)
  • OS :macOS x64
  • Package :TGZ

或者 下载地址:http://dl.mongodb.org/dl/win32/x86_64

1、下载

2、解压之后进入解压后目录

 

3、编辑配置:

创建data文件夹

创建log文件夹,master.log文件

创建etc,mongodb.conf文件

dbpath=E:\MongoDB\mongodb-win32-x86_64-2012plus-4.2.9-31-g5dad351\data
logpath=E:\MongoDB\mongodb-win32-x86_64-2012plus-4.2.9-31-g5dad351\log\master.log
#fork=true
maxConns=4000
logappend=true

 

4、启动:

$ bin/E:\MongoDB\mongodb-win32-x86_64-2012plus-4.2.9-31-g5dad351>mongod -f ./etc/mongo
db.conf

 

5、测试:

 

$ bin/mongo

 

  • 进入 MongoDB shell 成功,说明 MongoDB 启动成功了。

2. 安全认证

注意!!!一定要给 MongoDB 初始化管理员账号,并开启 MongoDB 的安全认证

不同于 MySQL 的账号密码管理,MongoDB 的账号密码是基于特定数据库的,而不是整个 MongoDB 系统。也就是说,创建的每个账号密码,只能访问操作一个数据库。

1、创建管理员账号:

 

# 连接 MongoDB
$ bin/mongo

# 切换到 admin 库
> use admin;

# 创建管理员账号
> db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

 

  • user :账号。
  • pwd :密码。
  • role :角色。
  • db :所属数据库。

在 MongoDB 中,用户是基于角色(role)授权。内置角色如下:

FROM 《MongoDB 开启权限验证及设置用户名密码》

内建的角色

  • 数据库用户角色 :read、readWrite
  • 数据库管理角色 :dbAdmin、dbOwner、userAdmin
  • 集群管理角色 :clusterAdmin、clusterManager、clusterMonitor、hostManager
  • 备份恢复角色 :backup、restore
  • 所有数据库角色 :readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 超级用户角色 :root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner、userAdmin、userAdminAnyDatabase)

角色说明:

  • read :允许用户读取指定数据库
  • readWrite :允许用户读写指定数据库
  • dbAdmin :允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问 system.profile
  • userAdmin :允许用户向 system.users 集合写入,可以找指定数据库里创建、删除和管理用户
  • clusterAdmin :只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
  • readAnyDatabase :只在admin数据库中可用,赋予用户所有数据库的读权限
  • readWriteAnyDatabase :只在admin数据库中可用,赋予用户所有数据库的读写权限
  • userAdminAnyDatabase :只在admin数据库中可用,赋予用户所有数据库的 userAdmin 权限
  • dbAdminAnyDatabase :只在admin数据库中可用,赋予用户所有数据库的 dbAdmin 权限
  • root :只在 admin 数据库中可用。超级账号,超级权限

2、开启安全认证

编辑 mongodb.conf 配置文件,增加 auth=true 配置项。

3、重启

 

# 查找 MongoDB 进程,并关闭它
$ ps -ef | grep mongodb
$ kill 2382 # 假设我们找到的 MongoDB 进程号为 2382 。

# 启动 MongoDB 进程
$ bin/mongod -f mongodb.conf

 

4、认证

 

# 连接 MongoDB
$ bin/mongo

# 切换到 admin 库
> use admin;

# 查看 collection 列表,此时会报错
> show collections;
Warning: unable to run listCollections, attempting to approximate collection names by parsing connectionStatus

# 认证
> db.auth('useradmin', 'adminpassword');

# 查看 collection 列表,此时正常
> show collections;

 

3. 创建数据库

本小节,我们来创建一个数据库,并创建对应的账号密码。

1、创建数据库

 

# 连接 MongoDB
$ bin/mongo

# 切换到 admin 库
> use admin;

# 管理员认证
> db.auth('useradmin', 'adminpassword');

# 创建数据库
> use yourdatabase;

 

  • use DATABASE_NAME 指令:如果数据库不存在,则创建数据库,否则切换到指定数据库。

2、创建账号密码

继续上面的 MongoDB Shell 。

 

# 创建 yourdatabase 的管理员的账号密码
> db.createUser({ user: "test01", pwd: "password01", roles: [{ role: "dbOwner", db:"yourdatabase" }] })

# 创建 yourdatabase 的开发者的账号密码
db.createUser({ user: "test01", pwd: "test02", roles: [{ role: "readWrite",db: "yourdatabase" }] })

 

  • 对于每个数据库的管理员账号,我们赋予 "dbOwner" 角色,允许读写、索引等操作。
  • 对于每个数据库的开发者账号,我们赋予 "readWrite" 角色,只允许读写操作。

查询数据

use test -- 使用test数据库

show collections -- 显示所有的集合

db.user.find() -- 显示user集合的所有的数据

4. 图形化客户端

目前,MongoDB 的图形化客户端已经很多了,例如说:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值