Ubuntu 安装 MongoDB
Contents
官网:https://www.mongodb.com/
社区版下载地址: https://www.mongodb.com/try/download/community
安装命令
## 安装依赖
curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
## 查看添加成功没
apt-key list
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
## 更新 apt
sudo apt update
## 安装 mongo
sudo apt install mongodb-org
## 启动服务
sudo systemctl start mongod.service
## 查看服务状态
sudo systemctl status mongod
## 启用状态
sudo systemctl enable mongod
## 停用状态
sudo systemctl stop mongod
初始化配置
vim /etc/mongod.conf
# network interfaces
net:
port: 27017
# bindIp: 127.0.0.1
bindIp: 0.0.0.0
编辑了用户记得重启
sudo systemctl restart mongod
登陆 mongo
在安装了mongod的服务本机,mongo是无密码的,可输入如下命令直接登陆
$ mongo
远端通过如下命令登陆,未设置密码情况下,绑定了外网地址情况下,也能登陆
$ mongo "mongodb://192.168.0.x:27017"
创建用户
- 产看所用用户
> use admin
switched to db admin
> db.system.users.find().pretty()
注意:用户相关的操作都需要 在admin db下操作!
创建 root 用户
> db.createUser(
{
user:"root",
pwd:"pwd",
roles:["root"]
}
)
注意: 密码最好不要使用 & ? # : $ ; / . @ 等符号,因为 mongo DSN 格式是个 url,url 相关的关键词都不要用哦!
创建 admin 用户
> db.createUser(
{ user: "admin",
customData:{description:"superuser"},
pwd: "admin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
创建业务用户
> db.createUser({
user:"user001",
pwd:"123456",
customData:{
name:'jim',
email:'jim@qq.com',
age:18,
},
roles:[
{role:"readWrite",db:"db001"},
{role:"readWrite",db:"db002"},
'read'// 对其他数据库有只读权限,对db001、db002是读写权限
]
})
用户管理
- 改密码
use admin
db.changeUserPassword("username", "xxx")
- 为用户追加权限
db.grantRolesToUser( "<username>", [ <roles> ], { <writeConcern> } )
- 删除用户
use admin
db.dropUser('user001')
安全设置
访问mongo认证配置
在无密码的mongo上配置好用户后,就可以启用安全认证了。
vim /etc/mongod.conf
#security:
修改为:
security:
authorization: enabled
如果是 mongo
低于 2.6
那么在配置文件最后一行加上:
auth = true
参考
- https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-20-04
- https://segmentfault.com/a/1190000015603831
- https://stackoverflow.com/questions/25325142/how-to-set-authorization-in-mongodb-config-file