最近要部署公司的老项目,要在新系统中部署服务器环境,遇到了一些问题,特此记录。刚开始发现 ubuntu22.04 的存储库已经找不到 mongodb了,没有办法只能硬着头皮搜集资料看有没有解决方案,现把我的安装细节总结如下:
安装libssl1.1
由于最新的Ubuntu使用的是openssl 3.0,而mongodb需要1.1版本的,所以只能强行安装
# 注意:18.04.21版本可能不存在了,请查看版本后再操作
curl -LO http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.21_amd64.deb
sudo dpkg -i ./libssl1.1_1.1.1-1ubuntu2.1~18.04.21_amd64.deb
使用国内源安装
首先信任 MongoDB 的 GPG 公钥:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
给这个文件/etc/apt/sources.list.d/mongodb.list
写入下面的内容(这里使用清华大学镜像,阿里云腾讯云镜像也OK)
deb https://mirrors.tuna.tsinghua.edu.cn/mongodb/apt/ubuntu jammy/mongodb-org/6.0 multiverse
开始安装
sudo apt-get update
sudo apt-get install -y mongodb-org
# 查看运行状态
systemctl status mongod.service
# 开机自启
systemctl enable mongod.service
添加用户和角色
添加管理员用户:
# 必须切换数据库
use admin
# 给管理员加root角色,拥有超级权限
db.createUser({user:"admin",pwd:"password",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"root",db:"admin"}]})
添加普通用户:
use dbname
db.createUser({user:"username",pwd:"password",roles:[{role:"dbOwner",db:"dbname"}]})
修改用户角色
db.updateUser("admin",{roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"root",db:"admin"}]})
启用安全校验
编辑配置文件/etc/mongod.conf
在合适的位置加上
# 注意缩进
security:
authorization: enabled
重启后即可生效
sudo systemctl restart mongod.service
网友评论