Ubuntu 20.04 中的 MongoDB 3.4
Posted
技术标签:
【中文标题】Ubuntu 20.04 中的 MongoDB 3.4【英文标题】:MonogDB 3.4 in Ubuntu 20.04 【发布时间】:2021-03-15 13:33:44 【问题描述】:在生产应用程序中,我们使用的是 MongoDB 3.4 版本。我在本地机器上安装了 ubuntu 20.04 LTS,并尝试安装 Mongo 3.4 并撞到墙上。请让我知道你的想法。这是我的步骤:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb http://repo.mongodb.com/apt/ubuntu "$(lsb_release -sc)"/mongodb-enterprise/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
【问题讨论】:
【参考方案1】:嗯,我只是用一种更“手工”的方式来做这件事……
从这里下载应用程序:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.24.tgz (它是,让我们从 mongodb 页面调用 vanila 版本)
在 /opt 上解压缩:
tar zxf mongodb-linux-x86_64-3.4.24.tgz -C /opt/
短名称的符号链接:
ln -s /opt/mongodb-linux-x86_64-3.4.24 /opt/mongo
为 mongo 创建了用户:
useradd -r mongod
然后添加systemctl命令:
echo "[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongod
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target" > /etc/systemd/system/mongod.service
重新加载systemctl:
systemctl daemon-reload
然后创建 /etc/mongod.conf,内容如下:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /opt/mongo/database/
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongod.log
# network interfaces
net:
port: 27017
# bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
#replication:
# replSetName: "mongodb-keys-replica-set"
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
然后启动服务:
systemctl start mongod
根据需要调整配置和目录路径。
它有效,是一个为那个 ubuntu 版本的旧版本手工制作的解决方案。不会使用 apt-get 或相关更新...但可以正常工作。
如果在本地,出于测试目的,使用 docker 映像可能不是一个坏主意...但只是一个建议,而不是您问题的答案。
【讨论】:
【参考方案2】:以上答案是正确的,但不要忘记:
创建目录和文件,更改所有者
mkdir /opt/mongo/database
touch /var/log/mongod.log
chown mongod:mongod /var/log/mongod.log
chown -R mongod:mongod /opt/mongodb-linux-x86_64-3.4.24
chown mongod:mongod /opt/mongo
以root身份执行这部分,mongo的链接错误,应该如下:
echo "[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongod
ExecStart=/opt/mongo/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target" > /etc/systemd/system/mongod.service
【讨论】:
【参考方案3】:这似乎没有简单的方法,因为官方文档本身说对于版本 3.4,唯一受支持的 ubuntu 版本是 16.04 和 14.04 (https://docs.mongodb.com/v3.4/tutorial/install-mongodb-on-ubuntu/)。
我尝试了ignivs的上述步骤,但每次都遇到这个错误:
无法启动 mongod.service:未找到单元 mongod.service。
【讨论】:
以上是关于Ubuntu 20.04 中的 MongoDB 3.4的主要内容,如果未能解决你的问题,请参考以下文章
在 Ubuntu 20.04 上安装 Mongodb 的问题
在 Ubuntu 20.04 上无法连接到 mongodb,连接被拒绝
Ubuntu20.04 通过 apt 方式安装 mongoDB