ubuntu22安装mongodb

最近要部署公司的老项目,要在新系统中部署服务器环境,遇到了一些问题,特此记录。刚开始发现 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 -

或者直接导入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源(使用清华大学镜像)

# 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

执行如下命令:

# E2C63C11 取自于gpg key 的后8位,去掉空格
apt-key export E2C63C11 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/mongodb.gpg

再次 apt-get update 就没提示了

# 查看运行状态
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

参考资料:
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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容