如何在Ubuntu上安装MongoDB 3.0.2 WiredTiger

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Ubuntu上安装MongoDB 3.0.2 WiredTiger相关的知识,希望对你有一定的参考价值。

参考技术A 方法/步骤首先到下面的工具原料中的mongodb的官网下载对应你系统的安装包,拷贝到你的linux系统上面,如果有网络可以直接用wget下载解压对应的安装包 命令如下: tar zxf mongodb-linux-i686-2.0.2.tgz因为mongodb不需要像别的数据库那样繁琐的配置解压后放到惯例的/usr/local目录下面,当然你可以放到任何地方,放到/usr/local下面方便管理命令如下: mv mongodb-linux-i686-2.0.2/* /usr/local/mongodb然后为mongodb创建数据库存放的位置和日志文件,默认是在/data/db下面,同样为了方便就在mongodb下面建立了相应的目录进到mongodb下面的bin目录下查看mongodb的帮助文档和我们用到的启动参数 ...方法/步骤首先到下面的工具原料中的mongodb的官网下载对应你系统的安装包,拷贝到你的linux系统上面,如果有网络可以直接用wget下载解压对应的安装包 命令如下: tar zxf mongodb-linux-i686-2.0.2.tgz因为mongodb不需要像别的数据库那样繁琐的配置解压后放到惯例的/usr/local目录下面,当然你可以放到任何地方,放到/usr/local下面方便管理命令如下: mv mongodb-linux-i686-2.0.2/* /usr/local/mongodb然后为mongodb创建数据库存放的位置和日志文件,默认是在/data/db下面,同样为了方便就在mongodb下面建立了相应的目录进到mongodb下面的bin目录下查看mongodb的帮助文档和我们用到的启动参数启动mongodb数据库,对应的参数说明用绿色表明了为了安全期间建议关闭28017端口防止信息外泄做好上面的操作就可以进入mongodb的客户端开始你的mongodb之旅了.收起

在 Ubuntu 20.04 上安装 Mongodb 的问题

【中文标题】在 Ubuntu 20.04 上安装 Mongodb 的问题【英文标题】:Problems Installing Mongodb on Ubuntu 20.04 【发布时间】:2021-02-24 00:46:23 【问题描述】:

将提供一个快速的上下文。我对手册很严格: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

    wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntufocus/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list sudo apt-get 更新 sudo apt-get install -y mongodb-org sudo systemctl start mongod sudo systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2020-11-12 03:11:07 EET; 1min 8s ago
Docs: https://docs.mongodb.org/manual
Process: 6780 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14)
Main PID: 6780 (code=exited, status=14)
systemd[1]: Started MongoDB Database Server.
systemd[1]: mongod.service: Main process exited, code=exited, status=14/n/a
systemd[1]: mongod.service: Failed with result 'exit-code'.
    蒙哥
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1

然后尝试通过以下方式修复此 status=14/n/a:

sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock

还有其他的

然后删除 mongodb:

sudo apt-get purge mongodb-org*
sudo apt remove mongodb
sudo apt purge mongodb
sudo apt autoremove

并以相同的方式从上面安装它,结果相同。我需要帮助。

这就是 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: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

这是来自 var/log/mongodb/mongod.log 的 mongod 日志文件是 550 班轮,我只复制了最后一个日志:

"t":"$date":"2020-11-12T15:30:35.643+02:00","s":"W",  "c":"CONTROL",  "id":20698,   "ctx":"main","msg":"***** SERVER RESTARTED *****","tags":["startupWarnings"]
"t":"$date":"2020-11-12T15:30:35.645+02:00","s":"I",  "c":"CONTROL",  "id":23285,   "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"
"t":"$date":"2020-11-12T15:30:35.655+02:00","s":"W",  "c":"ASIO",     "id":22601,   "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"
"t":"$date":"2020-11-12T15:30:35.655+02:00","s":"I",  "c":"NETWORK",  "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."
"t":"$date":"2020-11-12T15:30:35.656+02:00","s":"I",  "c":"STORAGE",  "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":"pid":9759,"port":27017,"dbPath":"/var/lib/mongodb","architecture":"64-bit","host":"lubo"
"t":"$date":"2020-11-12T15:30:35.656+02:00","s":"I",  "c":"CONTROL",  "id":23403,   "ctx":"initandlisten","msg":"Build Info","attr":"buildInfo":"version":"4.4.1","gitVersion":"ad91a93a5a31e175f5cbf8c69561e788bbc55ce1","openSSLVersion":"OpenSSL 1.1.1f  31 Mar 2020","modules":[],"allocator":"tcmalloc","environment":"distmod":"ubuntu2004","distarch":"x86_64","target_arch":"x86_64"
"t":"$date":"2020-11-12T15:30:35.656+02:00","s":"I",  "c":"CONTROL",  "id":51765,   "ctx":"initandlisten","msg":"Operating System","attr":"os":"name":"Ubuntu","version":"20.04"
"t":"$date":"2020-11-12T15:30:35.656+02:00","s":"I",  "c":"CONTROL",  "id":21951,   "ctx":"initandlisten","msg":"Options set by command line","attr":"options":"config":"/etc/mongod.conf","net":"bindIp":"127.0.0.1","port":27017,"processManagement":"timeZoneInfo":"/usr/share/zoneinfo","storage":"dbPath":"/var/lib/mongodb","journal":"enabled":true,"systemLog":"destination":"file","logAppend":true,"path":"/var/log/mongodb/mongod.log"
"t":"$date":"2020-11-12T15:30:35.657+02:00","s":"F",  "c":"STORAGE",  "id":50922,   "ctx":"initandlisten","msg":"An incomplete repair has been detected! This is likely because a repair operation unexpectedly failed before completing. MongoDB will not start up again without --repair."
"t":"$date":"2020-11-12T15:30:35.657+02:00","s":"F",  "c":"-",        "id":23091,   "ctx":"initandlisten","msg":"Fatal assertion","attr":"msgid":50922,"file":"src/mongo/db/storage/storage_engine_init.cpp","line":86
"t":"$date":"2020-11-12T15:30:35.657+02:00","s":"F",  "c":"-",        "id":23092,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"

更新 ATM 这次我尝试使用 *** 的指南再次重新安装:

    sudo apt-get install --reinstall mongodb (有错误 - 处理时遇到错误) sudo systemctl daemon-reload sudo apt 更新/升级 sudo apt install mongodb (以下软件包已自动安装,不再需要) sudo apt 自动删除 sudo systemctl status mongodb (主进程退出,code=exited,status=100/n/a) sudo mongo
MongoDB shell version v3.6.8
connecting to: mongodb://127.0.0.1:27017
Implicit session: session  "id" : UUID("667c92c8-0a10-4adb-bcf6-ba045f280034") 
MongoDB server version: 3.6.8
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2020-11-12T17:33:37.780+0200 I STORAGE  [initandlisten] 
2020-11-12T17:33:37.780+0200 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2020-11-12T17:33:37.780+0200 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2020-11-12T17:33:38.722+0200 I CONTROL  [initandlisten] 
2020-11-12T17:33:38.722+0200 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-11-12T17:33:38.722+0200 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2020-11-12T17:33:38.722+0200 I CONTROL  [initandlisten] 
    sudo apt-get install libc6 (libc6已经是最新版本(2.31-0ubuntu9.1)) sudo systemctl status mongod
 mongod.service
     Loaded: not-found (Reason: Unit mongod.service not found.)
     Active: active (running) since Thu 2020-11-12 17:33:37 EET; 7min ago
   Main PID: 16038 (mongod)
     CGroup: /system.slice/mongod.service
             └─16038 /usr/bin/mongod --config /etc/mongod.conf

ное 12 17:33:37 lubo systemd[1]: Started MongoDB Database Server.
ное 12 17:34:03 lubo systemd[1]: mongod.service: Current command vanished from the unit file, execution of the command list won't be resumed.

现在我相信我们有工作的 mongod,只是为了将它与 mongod.service 连接起来

【问题讨论】:

你的/etc/mongod.conf看起来怎么样? 好的,我把问题放在了,应该从一开始就做。这一行 bindIp: 127.0.0.1,尝试评论它和 bindIp: true 在某些时候 您的日志文件 (/var/log/mongodb/mongod.log) 中有什么内容? 好的,我添加了一个日志。 mongod.logmongodb.log 很长,所以我只复制了 mongod.log 的最后一条日志 "src/mongo/db/storage/storage_engine init.cpp","line":86 【参考方案1】:

MongoDB 已包含在 Ubuntu 软件包存储库中,但官方 MongoDB 存储库提供了最新版本,并且是推荐的软件安装方式。在这一步中,我们会将这个官方存储库添加到我们的服务器中。

Ubuntu通过验证软件包是否使用GPG密钥签名来确保软件包的真实性,因此我们首先要导入官方MongoDB存储库的密钥。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

接下来,我们将添加 MongoDB 存储库详细信息,以便 apt 知道在哪里下载包。发出以下命令为 MongoDB 创建一个列表文件。

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

最后,我们将更新软件包列表。

sudo apt-get update

我们将在服务器上安装 mongodb-org 元包,其中包括守护进程、配置和初始化脚本、shell 和管理工具。

sudo apt-get install mongodb-org

:)

【讨论】:

【参考方案2】:

Mongodb server-4.4.asc 在某些机器上存在 ubuntu 20.04 的错误。 我重试了几次,我在“server-4.4.asc”上发现了一个错误。我建议安装“server-4.2.asc”(4.2 版可以,4.4 版有错误)。

查看此链接: [1]:https://www.howtoforge.com/how-to-install-and-use-mongodb-on-ubuntu-2004/

【讨论】:

【参考方案3】:

您收到此错误是因为您没有授予对 mongodb 的访问权限 你需要做的就是

sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock

sudo service mongod restart

you can use this medium.com link,too.

现在享受使用 mongodb 的乐趣

【讨论】:

谢谢,伙计。我尝试了很多都没有成功。但这有帮助【参考方案4】:
    首先删除 mongodb 的所有 PPA 存储库,然后: sudo apt-get purge mongodb-org* sudo apt remove mongodb sudo apt purge mongodb sudo apt 自动删除 sudo rm -r /var/log/mongodb sudo rm -r /var/lib/mongodb sudo apt-get install gnupg wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntufocus/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list sudo apt-get 更新 sudo apt-get 升级 sudo apt 更新 sudo apt 升级 sudo apt-get install -y mongodb-org sudo apt-get install libc6 sudo service mongod start sudo service mongod 状态

这帮助我解决了这个问题

【讨论】:

太棒了。我不知道为什么,但这为我解决了这个问题。谢谢!

以上是关于如何在Ubuntu上安装MongoDB 3.0.2 WiredTiger的主要内容,如果未能解决你的问题,请参考以下文章

如何安装mongodb.msi

在 Ubuntu 20.04 上安装 Mongodb 的问题

带有 Grails 2.4.3 的 MongoDB (3.0.2) NullPointerException

在 ubuntu os 的 nginx Web 服务器上安装 nodejs 和 mongodb

Ubuntu上安装MongoDB(译)

mongodb 在 Ubuntu系统上的安装及卸载