【问题标题】:How to transfer a database from MongoDB Compass to MongoDB Atlas如何将数据库从 MongoDB Compass 转移到 MongoDB Atlas
【发布时间】:2021-08-19 16:11:50
【问题描述】:

我在 MongoDB Compass v1.28.1 中有一个不和谐机器人的现有数据库我想将数据库中的所有数据传输到 mongodb atlas,因为它具有更广泛的功能并且不必等待 compass 需要很长时间才能加载每次我打开它。但是,当我按照 Atlas 中提供的连接步骤进行操作时,当我将路径复制到剪贴板时应该出现的弹出窗口没有出现,并且没有任何反应。我尝试在 VSCode 中通过我的应用程序连接,就像我为 Compass 所做的那样,使用猫鼬。仍然没有加载集合或存储任何数据。我已经制作了在 Compass 中运行良好的架构等...

【问题讨论】:

  • MongoDB Compass 不是数据库,不保存任何数据。它是一个用于查看 MongoDB 数据库中数据的 GUI 工具(此 MongoDB 数据库可以安装在您的本地主机或网络资源上)。一旦确定了源数据库的位置,请尝试确定版本,并确定目标 MongoDB Atlas 集群版本,并在此处发布结果。
  • 如何查看源在哪里并找到版本。
  • 它基于您的 MongoDB Compass 连接字符串。我将首先查看连接字符串并识别主机名和端口。数据库版本可以在 Compass 中查看。
  • 哦,好的,谢谢发现,有 2 个连接字符串: 短一个:mongodb://localhost:27017/discordbot 长一个:mongodb://localhost:27017/?readPreference=primary&appname=MongoDB%20Compass&directConnection=true&ssl=false 有一个标签写着Edition,上面写着 MongoDB 4.2.15 Community。希望这是正确的信息。
  • 好的,您在我们的本地机器上有一个数据库。一一连接字符串,您将起始数据库指定为discordbot。我假设这是您希望迁移到 Atlas 的数据库?如果是这样,只需使用 mongodump 工具备份本地数据库,然后使用 mongorestore 工具恢复到 Atlas。一旦你以前做过它是相当微不足道的,但如果你从来没有做过,那么你将通过大量的安全块。首先,您必须拥有 mongodump 和 mongo restore 工具。如果您还没有,请下载它们。

标签: mongodb mongodb-atlas mongodb-compass


【解决方案1】:

迁移到 Atlas 记录在 https://docs.atlas.mongodb.com/import/

为了节省一些读取,您必须选择 - 导出/导入和 mongodump/mongorestore。

我建议先尝试导出/导入。它内置在 Compass https://docs.mongodb.com/compass/current/import-export/ 中,考虑到 mongo 的经验有限,它必须更易于使用。它是面向 UI 的,因此只需按照文档中的点击指南进行操作即可。

不幸的是,它在从 BSON 到 JSON 的数据类型转换方面存在一些限制,如果您有大量集合,可能会有点乏味。

在这种情况下,您需要遵循 cmets 中建议的 CLI mongodump/mongorestore 方式@barrypicker。这两个命令都在cmdPowerShell 控制台中可用。

首先你备份你的本地数据库https://docs.mongodb.com/v4.2/reference/program/mongodump/:

mongodump --uri="mongodb://username:password@localhost:27017/discordbot"

用户名和密码是您在 compass 中用来连接到源数据库的用户名和密码。

它将创建dump 目录,其中包含您拥有的所有集合。

然后您必须将备份上传到 Atlas:

mongorestore --uri="mongodb+srv://username:password@cluster.tenant.mongodb.net/database" dump/

用户名和密码是您用于连接 atlas 集群的用户名和密码,列在“安全/数据库访问”部分。

您可以从 Atlas 获取 --uri 部分的确切子域。在仪表板中单击要连接的集群的“连接”按钮,然后在连接弹出窗口中选择“shell”作为连接方式:

【讨论】:

  • 当我运行 mongodump 时,控制台返回一个错误提示 Failed: can't create session: could not connect to server: connection() : auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed. 我该如何解决,什么是 SCRAM-SHA-1
  • 我认为导出/导入不起作用,是吗?
  • 试过了,程序说'export' is not recognized as an internal or external command, operable program or batch file.我在mongo服务器所在的文件夹里运行命令...
  • 嗯,你读过链接后面的页面吗?导出不是命令,它是指南针中的一个按钮。
  • 我在 MongoDB Compass 上使用的是 1.28.1 版本,但我在那里找不到它
猜你喜欢
  • 1970-01-01
  • 2020-05-03
  • 1970-01-01
  • 2018-12-11
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 2020-10-12
  • 2019-11-30
相关资源
最近更新 更多