最近要部署公司的老項目,要在新系統(tǒng)中部署服務(wù)器環(huán)境,遇到了一些問題袭蝗,特此記錄。剛開始發(fā)現(xiàn) ubuntu22.04 的存儲庫已經(jīng)找不到 mongodb了般婆,沒有辦法只能硬著頭皮搜集資料看有沒有解決方案到腥,現(xiàn)把我的安裝細(xì)節(jié)總結(jié)如下:
安裝libssl1.1
由于最新的Ubuntu使用的是openssl 3.0,而mongodb需要1.1版本的蔚袍,所以只能強(qiáng)行安裝
# 注意: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
使用國內(nèi)源安裝
首先信任 MongoDB 的 GPG 公鑰:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
或者直接導(dǎo)入GPG公鑰:
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb.gpg
添加apt源(使用清華大學(xué)鏡像)
# 5.0版本請把jammy替換成focal
echo "deb [ arch=amd64,arm64 ] https://mirrors.tuna.tsinghua.edu.cn/mongodb/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
開始安裝
sudo apt-get update
sudo apt-get install -y mongodb-org
更新apt源時可能有這樣的提示:
https://repo.mongodb.org/apt/ubuntu/dists/jammy/mongodb-org/5.0/Release.gpg: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details
apt-key list 打印gpg key
pub rsa4096 2021-02-16 [SC] [expires: 2026-02-15]
F567 9A22 2C64 7C87 527C 2F8C B00A 0BD1 E2C6 3C11
uid [ unknown] MongoDB 5.0 Release Signing Key <packaging@mongodb.com>
/etc/apt/trusted.gpg.d/trusted.gpg
執(zhí)行如下命令:
# E2C63C11 取自于gpg key 的后8位,去掉空格
apt-key export E2C63C11 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/mongodb.gpg
再次 apt-get update 就沒提示了
# 查看運(yùn)行狀態(tài)
systemctl status mongod.service
# 開機(jī)自啟
systemctl enable mongod.service
添加用戶和角色
添加管理員用戶:
# 必須切換數(shù)據(jù)庫
use admin
# 給管理員加root角色页响,擁有超級權(quán)限
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
在合適的位置加上
# 注意縮進(jìn)
security:
authorization: enabled
重啟后即可生效
sudo systemctl restart mongod.service
參考資料:
Key is stored in legacy trusted.gpg keyring
Fixing "Key is stored in legacy trusted.gpg keyring" Issue in Ubuntu
How To Install MongoDB 5 on Ubuntu 22.04|20.04|18.04