这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战
Mongodb 入门级指南
Mac 安装 Mongodb
下载地址
创建数据库存放目录和日志存放目录
mkdir -p /usr/local/mongodb/data
mkdir -p /usr/local/mongodb/logs
Touch mongodb.log
创建配置文件
mkdir -p /usr/local/mongodb/etc/mongod.conf
启动 MongoDB服务
/usr/local/mongodb/bin/mongod —dbpath=/usr/local/mongodb/data —-logpath=/usr/local/mongodb/logs/mongodb.log —logappend —port=27017 —fork
pm$ mongod --config /usr/local/mongodb/etc/mongod.conf
查看Mongodb是否启动
$ ps -ef | grep mongodb
# 字段含义如下:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae
UID :程序被该 UID 所拥有
PID :就是这个程序的 ID
PPID :则是其上级父程序的ID
C :CPU使用的资源百分比
STIME :系统启动时间
TTY :登入者的终端机位置
TIME :使用掉的CPU时间。
CMD :所下达的是什么指令
停止MongoDB服务
# 关闭 打开另一个终端窗口 切换到你的mongodb/bin目录下
./mongo
\> use admin
\> db.shutdownServer()
Mongodb登录
/usr/local/mongodb/bin/mongo
Exit #退出
安全验证
创建账号
db.createUser({
"user": "账号",
“pwd”: "密码",
“roles”: [{
role: "角色"
db: "所属数据库"
}]
})
db.createUser({
"user": "xujiantong",
“pwd”: "Asilence31",
“roles”: [{
role: "root"
db: "admin"
}]
})
角色种类
1.超级用户角色 root
2.数据库用户角色 read 、 readWrite
数据库管理角色 dbAdmin、userAdmin
集群管理角色 clusterAdmin、clusterManager、clusterMonitor、hostManger
备份恢复角色 backup、restore
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
角色说明
root: 只在admin数据库中可用。超级账号,超级权限
read: 只允许用户读取指定数据库
readWrite: 允许用户读写指定数据库
dbAdmin: 允许用户在指定数据库中执行管理函数,如索引创建、删除、查看统计或访问system.profile
dbAdminAnyDatabase: 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
开启验证模式
概念: 指用户需要输入账号密码才能登陆
操作步骤
1.添加超级管理员
2.关闭
mongo
use admin
db.shutdownServer()
3.config添加 auth=true
4.启动服务 mongod --config /usr/local/mongodb/etc/mongod.conf
5.登陆身份:
方法1:mongo 172.0.0.1:27017/数据库 -u xu -p ********
方法2: a-先登录 mongo b-选择数据库 use admin c-输入 db.auth(用户名,密码)
1.添加用户1可以读cms数据库
db.createUser({user:"cms_read",pwd:"admin888",roles:[{role:"read",db:"cms"}]})
2.添加用户2可以写shop数据库
db.createUser({user:"cms_rw",pwd:"admin888",roles:[{role:"readWrite",db:"cms"}]})
配置文件 mongodb.conf
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/logs/mongodb.log
logappend=true
port=27017
fork=true