我需要恢复/读取在 mongo 3.14 中创建的数据库。但是我目前使用的是 ubuntu 18.04 操作系统。
我尝试按照官方指南给出的步骤进行操作:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ (仅将 4.0 替换为 3.4)
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get install -y mongodb-org=3.4.17 mongodb-org-server=3.4.17 mongodb-org-shell=3.4.17 mongodb-org-mongos=3.4.17 mongodb-org-tools=3.4.17
但是,安装执行最后一条命令时失败,并给出错误:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '3.4.16' for 'mongodb-org' was not found
E: Version '3.4.16' for 'mongodb-org-server' was not found
E: Version '3.4.16' for 'mongodb-org-shell' was not found
E: Version '3.4.16' for 'mongodb-org-mongos' was not found
E: Version '3.4.16' for 'mongodb-org-tools' was not found
(sudo apt update
没有帮助)。
现在,当我尝试从 tar ball 手动安装文件时,似乎也找不到正确的版本这里:
3.4.17 似乎没有任何 ubuntu 18 支持。
作为最后的选择,使用 4.x 版本读取数据库似乎也不起作用,因为 4.x 抱怨必须先将数据转换为“3.6 格式”。
有什么方法可以使用 ubuntu 18 读取用 3.4 编写的数据库?
答案1
尝试这个
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb 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 update
sudo apt install mongodb-org
成功安装了 3.4.18。这不是您要求的版本,但应该可以正常工作。
祝你好运!