MongoDB单机部署

1.下载MongoBD安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz
2.解压安装包
tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz

mv mongodb-src-r4.2.8  /usr/local/mongodb
3.MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中
export PATH=<mongodb-install-directory>/bin:$PATH
4.创建数据库目录

默认情况下 MongoDB 启动后会初始化以下两个目录:

  • 数据存储目录:/var/lib/mongodb
  • 日志文件目录:/var/log/mongodb

创建这两个目录并设置当前用户有读写权限

sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongo     # 设置权限
sudo chown `whoami` /var/log/mongodb   # 设置权限
5.启动MongoDB服务
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork
6.停止MongoDB服务
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --shutdown
7.设置配置文件方式启动
cd /usr/local/mongodb

vim mongodb.conf

dbpath = /var/lib/mongo
logpath = /var/log/mongodb/mongod.log
port = 27017
bind_ip = 127.0.0.1
fork = true
logappend=true
journal = false
storageEngine = mmapv1

mongod --config /usr/local/mongodb/mongodb.conf

利用mongo命令连接mongoDB服务器端

cd /usr/local/mongodb/bin
./mongo
8.添加管理用户

利用mongo命令连接mongoDB服务器端

> use admin
switched to db admin
> db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

## 如果权限不够,权限都加上
> db.createUser({user: "pfnieadmin", pwd: "123456", roles: [{ role: "userAdminAnyDatabase", db: "admin" },{ role: "readWriteAnyDatabase", db: "admin" },{ role: "dbAdminAnyDatabase", db: "admin" },{ role: "clusterAdmin", db: "admin" }]})

注:添加完用户后可以使用show users或db.system.users.find()查看已有用户.

进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的

使用db.shutdownServer()关闭数据库,然后添加auth=true 在启动

> use admin
> db.auth("pfnieadmin","123456")   #认证,返回1表示成功
MongoDB role 类型
  • root:只在admin数据库中可用。超级账号,超级权限
  • 数据库用户角色(Database User Roles)
    • read:授予Use只读数据的权限
    • readWrite:授予User读写数据的权限
  • 数据库管理角色(Database Administration Roles):
    • dbAdmin:在当前dB中执行管理操作
    • dbOwner:在当前DB中执行任意操作
    • userAdmin:在当前DB中管理User
  • 备份和还原角色(Backup and Restoration Roles):
    • backup
    • restore
  • 跨库角色(All-Database Roles):
    • readAnyDatabase:授予在所有数据库上读取数据的权限
    • readWriteAnyDatabase:授予在所有数据库上读写数据的权限
    • userAdminAnyDatabase:授予在所有数据库上管理User的权限
    • dbAdminAnyDatabase:授予管理所有数据库的权限
  • 集群管理角色(Cluster Administration Roles):
    • clusterAdmin:授予管理集群的最高权限
    • clusterManager:授予管理和监控集群的权限,A user with this role can access the config and local databases, which are used in sharding and replication, respectively.
    • clusterMonitor:授予监控集群的权限,对监控工具具有readonly的权限
    • hostManager:管理Server
添加数据库用户
> use flowpp
switched to db flowpp
> db.createUser({user: "flowpp", pwd: "flopww", roles: [{ role: "dbOwner", db: "flowpp" }]})   # 创建用户flowpp,设置密码flopww,设置角色dbOwner
查看系统用户
> use admin
switched to db admin
> db.system.users.find()  # 显示当前系统用户
删除用户
1.切换admin ,删除用户flowpp ,删除失败
> use admin
switched to db admin
> db.dropUser("flowpp")
false

2.切换flowpp ,删除用户flowpp,删除成功
> use flowpp
switched to db flowpp
> db.dropUser("flowpp")
true
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值