如何使用mongodb指南针恢复数据库?

mitkmikd  于 2023-01-25  发布在  Go
关注(0)|答案(3)|浏览(127)

我在dump文件夹里有一个mongodb数据库,里面有一些bson和json文件,我想用mongorestore恢复它,但是我不能通过mongo shell连接到集群,所以我用mongo compass连接,但是我不知道如何在mongo compass里恢复它。

ghhaqwfi

ghhaqwfi1#

您可以从系统命令行运行mongorestore runs,而不是mongo shell。在Windows中使用命令提示符或在OS X / Linux中使用终端输入命令,您应该可以开始运行。连接字符串将与您通过Compass连接时使用的字符串相同。

o8x7eapl

o8x7eapl2#

要恢复您必须仔细按照以下步骤:-
1:首先检查转储类型如果是zip文件,则解压缩。
2:打开cmd提示符并转到数据库XYZ(文件夹)所在的文件夹。

mi@sujeet-mishra:~/Downloads/dump$

在转储中,有一个名为XYZ的文件夹(XYZ数据库的文件夹)
现在运行命令:mongorestore -数据库XYZ

mi@sujeet-mishra:~/Downloads/dump$ mongorestore -db XYZ

就是这样,现在刷新MongoDB,您将得到一个名为XYZ数据库。

lmyy7pcs

lmyy7pcs3#

要创建一个数据库转储并恢复它,您需要(已经安装)tools for working with the database on your system-一组用于MongoDB的命令行实用程序(可执行文件),例如:* 蒙戈转储 蒙戈恢复 bsondump 蒙戈导入 蒙戈导出 * 和 * 其他 ...
该实用程序集支持所有流行的平台。例如,
mongorestore * 实用程序的系统支持可在此处查看。
要将一组实用程序安装到系统中,您需要使用操作系统的安装说明:一对一对一,一对二对一,一对三对一。
由于在Windows上使用实用程序时通常会出现问题,我们来看一个安装和使用专门用于此系统的实用程序的示例。我们将使用Windows 10。
"所以..."
1.打开MongoDB Download Center
1.在表单中的页面上选择所需的操作系统和包类型。下载存档!
1.解压缩下载的归档文件的内容,例如解压缩到C:\utilities文件夹。
1.此外,为了让系统看到我们的实用程序并避免错误,实用程序
命令不是内部或外部命令、可执行程序或批处理文件
,您必须向环境变量添加一个新条目(阅读更多相关信息)。

    • 一旦设置了环境变量,MongoDB实用程序命令就可以从任何控制台(简单控制台、PowerShell、IDE代码编辑器控制台)的任何目录执行 *
    • 您不能使用环境变量,但在这种情况下,请记住,只能从放置可执行文件的目录运行实用程序命令。换句话说,无论何时需要执行其中一个实用程序的控制台命令,都需要切换到可执行文件所在的目录! *
    • 现在只需要运行命令来恢复服务器上的数据库,它看起来像这样-在MongoDB的最新版本中,一切都简单到不可能:**
mongorestore C:\backups\db

    // or, for example, specifying the host and port like this

mongorestore --host localhost --port 27017 C:\backups\db

    // or like this

mongorestore --host localhost:27018 C:\backups\db
    • 最重要的!由于mongorestore的 --db * 选项已被弃用***,请注意我们没有指定要将数据库恢复到的数据库的名称!要导入数据的数据库的名称是db文件夹中目录的名称,而在db文件夹中,您应该有 *. bson * 和 *. json * 格式的转储文件。

如果指定了存放转储的特定目录,例如:C:\backups\db\my_app,则运行该命令将导致错误-
...不知道如何处理文件....
还要记住,从***C:\backups\db***目录运行mongorestore命令将恢复位于此目录中的所有应用程序的转储(如果有的话)!
在MongoDB 4版本之前,mongorestore命令可能如下所示(已弃用):

mongorestore --host localhost --port 27017 --db name_your_db C:\backups\db\my_app  // a
mongorestore --host localhost --port 27017 -d name_your_db C:\backups\db\my_app    // b

    // or short records:
    
mongorestore -h localhost --port 27017 -d name_your_db C:\backups\db\my_app      // a
mongorestore -h localhost:27017 -d name_your_db C:\backups\db\my_app             // b
mongorestore --uri="mongodb://localhost:27017/name_your_db" C:\backups\db\my_app // c

实际上,使用命令的选项可能更多,有各种各样的选项,在服务器上使用授权,在这种情况下,只给出几个例子。
你可以在官方网站上看到完整的选项列表。

    • 要创建转储,请使用以下命令:**
mongodump --out=C:\backups\db // <- to make dump all databases
mongodump -h localhost:27017 -d my_app --out=C:\backups\db // <- to create a dump of a specific single database

你可以在官方网站上看到mongodump的完整选项列表。

    • 对于Linux,命令的执行方式类似 *

相关问题